Chrome Markdown Viewer

Chrome can't render Markdown on its own — a .md link downloads or shows raw text. The viewer below fills the gap right in this tab: paste, drop or fetch, and the document renders here. No extension to install — and no extension permissions to grant.

The permission point, if you're here to compare: a Chrome extension that renders Markdown files must request "Read and change all your data on all websites" — that's the scope needed to intercept .md links anywhere. It applies to every tab, every page, every session. The viewer on this page asks for nothing: your file is parsed by JavaScript running in this one tab and never leaves your device.

…or drop a .md / README.md file here — it renders instantly, nothing uploaded

Your rendered document appears here.

Drop a file, paste source, or fetch a raw URL — it renders in this tab

Why Chrome downloads .md files instead of showing them

Chrome renders HTML natively because it has an HTML engine. Markdown isn't in that pipeline: when Chrome hits a .md file — from a link, a local double-click, or a file:// path — it looks at the MIME type (text/markdown or text/plain), finds nothing it can render, and falls back to its two default behaviors: dump the raw markup on screen, or trigger a download. Neither is reading. Double-clicking a local .md in Windows doesn't even reach Chrome — it opens whatever app owns the extension, usually Notepad, where a README shows as # symbols and pipe characters.

Three ways Chrome users fix this, ranked

  1. A web viewer (this page) — bring the file to the tab: drag it in, paste the source, or fetch a raw URL. Renders in seconds, works in Chrome, Edge, Brave, Arc and any Chromium browser, and the file never leaves your device.
  2. An extension — auto-renders .md links as you click them, which is genuinely convenient if you live on GitHub. The trade-off is the permission scope below.
  3. VS Code or a desktop app — Ctrl+Shift+V gives a built-in preview. Worth it if the app is already installed for other reasons; a heavy fix for a read-only job.

The extension permission, spelled out

Extensions that promise "render Markdown files in Chrome" mostly work one of two ways: they add a context-menu entry (lighter, but you're opening files through a menu each time), or they inject a content script into every page so .md links render inline (the convenient one). The second kind triggers Chrome's scariest permission prompt: "Read and change all your data on all websites." That's not marketing fear — it's literally the scope the code needs to see every page's content to find .md links. When you install one, you're trusting that extension's publisher with everything you do in the browser: email tabs, bank tabs, admin panels.

A web-based viewer has a permission scope of zero. There's nothing to install, nothing that can watch other tabs, and nothing retained — the file is parsed by the page's own JavaScript and gone when you close the tab. For private documents (contracts, internal docs, unpublished drafts), that difference is the whole decision.

Practical middle ground: if you only occasionally read .md files, keep this page bookmarked and drop files onto it. Install an extension only when you're clicking .md links on GitHub daily — and then pick one that's open-source or from a publisher you can check, because the permission it holds covers far more than Markdown.

Chrome-specific details that come up

Using it right here

Paste Markdown into the box and hit Render paste, drop a .md file onto the dashed area, or paste a raw URL and hit Fetch URL. The rendered document — headings, tables, code blocks, math, diagrams — appears on this page. Export the result as a standalone HTML file or a PNG image; the file you opened was never uploaded anywhere.

MD File Viewer home · About