How to open .md files on Android when AI-generated markdown shows up as raw symbols
Open a .md file from ChatGPT, Claude or Codex, an Obsidian note or a GitHub README on your phone and you often see raw #, * and |. Why that happens, three ways to read markdown properly on Android, and what breaks most often, from building a markdown viewer.
Why you only see symbols
Markdown (.md) stores formatting as plain-text instructions. # Title means "this line is a heading", - [ ] means "checkbox", | a | b | means "a table row". A renderer has to read those instructions and draw the heading, table or checklist.
On a computer, VS Code, Obsidian or GitHub does that for you. On a phone, tapping the file often opens a plain text editor, so you see the instructions instead of the result. This has become much more common because of AI tools: CLAUDE.md and AGENTS.md config files, and every "summarize this chat as a .md file" export, are all markdown.
Three ways to read it properly on your phone
- GitHub app or website — simplest for a README that already lives in a repository. It does not help with files you received by email or chat.
- Import into a notes app — create a vault in Obsidian mobile or a similar app and drop the file in. A lot of setup just to glance at one file.
- Open it directly in a markdown viewer app — tap the file or pick it from the app's "Open file" and it renders right away. For checking one file quickly, this is the shortest path.
What to check in a viewer
While building an Android markdown viewer (MdViewer), these are the parts that break most often on real files:
- Tables — AI-generated documents are full of them. Wide tables overflow the screen; without horizontal scrolling the text gets squashed.
- Checklists — whether
- [ ]/- [x]become actual checkboxes. - Code blocks — whether code scrolls sideways instead of wrapping, and whether it is highlighted per language.
- Math — whether LaTeX written as
$…$or$$…$$is rendered. It shows up constantly in study notes and paper summaries. - Large files — whether a log or summary with hundreds of thousands of characters opens without freezing. MdViewer's viewer was reworked so a 700,000-character document shows its first screen in about 0.7 seconds (measured 2026-09-25).
- Editing and export — whether you can fix a line, or export to PDF before sending it on. A PDF keeps tables and checklists intact on the other person's side.
Summary
- A .md file that shows up as symbols is not broken; nothing is rendering it.
- Repository files: GitHub. Notes you want to keep: a notes app. A file you just received: a viewer app is the shortest route.
- My app, MdViewer on Google Play, renders tables, checklists, code and math, and supports editing, split preview and PDF export.