md2rich

Free MD Viewer & md2rich: A Privacy-First Markdown Workflow

A Show HN on August 31, 2026 by user beerglass pointed at a single-file Markdown viewer and editor that runs entirely client-side. md2rich, the tool behind this site, is the publish-side complement: convert Markdown to rich text for LinkedIn, X Articles, Medium, and Notion. Together they form a complete offline-first writer stack.

On August 31, 2026 a Show HN: Markdown Viewer and Editor by user beerglass climbed to 22 points with 11 comments by September 1, 2026. The repo is hattray/markdown-editor under MIT, by Kingsbridge Consultancy LLC; the live app runs at kingsbridge-consultancy.com/md-viewer. It is one self-contained ~3.6 MB index.html with every library and font embedded. You can save the page and run it from file:// with no network connection. The privacy claim is verifiable, not promised: open devtools, watch the network tab, and read the source with view-source.

md2rich, the tool behind this site, shares that privacy posture. Both run entirely in the browser. Both reject uploads. Both refuse accounts. The difference is where they sit in the writer's loop: Free MD Viewer handles the read-and-edit step, opening the .md files that AI tools hand you and saving them back to disk. md2rich handles the publish step, converting the same Markdown into the rich text that social platforms accept on paste. This post is the integration recipe: open the .md in Free MD Viewer, edit it locally, then load the same file into md2rich and paste the rich text into LinkedIn, X Articles, Medium, or Notion.

What Free MD Viewer actually does

The README and the built HTML's own license banner list the bundled libraries: marked 14.1.4 (MIT), DOMPurify 3.2.7 (Apache-2.0 / MPL-2.0), highlight.js 11.11.1 (BSD-3-Clause), KaTeX 0.16.22 (MIT), and Mermaid 11.12.0 (MIT). KaTeX's embedded .woff2 fonts are under SIL OFL 1.1. The app's own code is MIT. Everything is inlined into one HTML file so the page bundle is the entire deliverable.

Features that matter for a writer workflow:

Two features depend on Chromium-desktop-only APIs and degrade gracefully elsewhere. Save-back-to-original-file uses the File System Access API; on other browsers it falls back to a download. Double-clicking a .md file from disk to open it in the viewer uses file_handlers and launchQueue in the manifest; on other browsers that path is simply not offered. Everything else — rendering, editing, exports, per-block downloads — works in any current browser.

What md2rich actually does

md2rich is also a single-page browser app with no backend, no upload, and no account. It loads [email protected] from jsDelivr, runs the same parser family as Free MD Viewer, and pipes the rendered HTML through a sanitizer, then paints the result into a contenteditable preview that mirrors how LinkedIn, X Articles, Medium, and Notion render the rich text you paste.

The publish-side problem is what Free MD Viewer does not solve: most social platforms do not accept raw Markdown pasted into their compose box. LinkedIn strips tables and task lists. X Articles strips anything not in its block grammar. Medium accepts Markdown in its editor mode but converts differently than its WYSIWYG paste expects. Notion loses headings on paste from an external source. Each platform has its own paste quirks, and md2rich encodes them as render modes so that what you see in the preview is what the platform will render after you paste.

Why these two tools belong together

Both are privacy-first. Both are zero-install (you can save the page and run it offline). Both refuse accounts and refuse uploads. The split is functional:

Step Best tool What it does
Read Free MD Viewer Open a .md from disk and render it as a readable document
Edit Free MD Viewer Edit the .md in place and save back to the original file
Convert to rich text md2rich Paste the polished Markdown in, copy the rendered HTML plus inline styles
Publish Your target platform Paste the rich text into LinkedIn, X Articles, Medium, Notion, or the WYSIWYG editor of your CMS

The pattern looks like this for a typical post:

  1. An AI tool (Claude, ChatGPT, Cursor, OzBrain) hands you a .md file. Save it to disk.
  2. Open it in Free MD Viewer. Read the output as a rendered document, not a wall of raw text. Edit the body, fix any platform-specific phrasing, and Save back to the original file.
  3. Copy the polished Markdown into md2rich. Pick the target platform's render mode (LinkedIn / X Articles / Medium / Notion). Paste it into the compose box of the platform.
  4. Files live on your machine the whole way. Nothing is uploaded.

Where Free MD Viewer falls short of an Obsidian or Typora

Free MD Viewer is excellent for the open-edit-save loop on a single file, but it is intentionally not a vault manager. There is no graph view of linked files, no plugin marketplace, no JSON-exported metadata table for queries. There is no vault-at-folder level cache; the app loads the file you point it at and forgets it on close. For a thousand-note workflow where you want to find every file that mentions a given tag or back-link across a folder, Obsidian's local-only vault model still wins.

Typora was the WYSIWYG-into-Markdown app that everyone used until it switched to a paid license. Free MD Viewer is not that. The Free MD Viewer experience is split-pane editor on top with live preview below; there is no inline WYSIWYG mode where formatting tools look like a word processor and Markdown appears under the hood. If you want that, Typora's paid license, iA Writer, or Zettlr's typewriter mode cover the use case that Free MD Viewer deliberately does not.

The other thing Free MD Viewer does not have is desktop-not-just-browser. Saving the page as a local file is the official self-hosting recipe and it works, but it is not the same as a windowed native app with a dock icon, system-wide keyboard shortcuts, and an OS-native File menu. Native macOS tools like Markdown Buddy and iA Writer give you that. The trade-off is installation friction in exchange for tighter OS integration.

A practical publish example

Suppose the AI tool generates this Markdown about a release:

# Q4 2026 Roadmap

We shipped the **Privacy Dashboard** this quarter. Next up:

- Webhook signing
- Audit log export
- SAML SSO for enterprise

Read the full announcement: <https://example.com/blog/privacy-dashboard>

Open that file in Free MD Viewer. The H2 renders as a heading, the bulleted list as a real list, the bold text as bold inline. You can scan the document as a rendered page, not as a wall of # and - characters. If a section needs a rewrite, edit in place and Save.

Then drop the same Markdown into md2rich. The preview shows exactly the rich text that LinkedIn or X Articles will render when you paste. The pipeline under the hood is the same as Free MD Viewer's: marked parses the Markdown, DOMPurify sanitizes it, the result becomes a contenteditable surface. But the surface is configured per-platform: LinkedIn mode optimizes for inline emphasis and bullet width, X Articles mode optimizes for the smaller character budgets, Medium mode keeps the rich-text metadata structure, Notion mode preserves headings as database-style blocks.

Why this split is the durable answer for privacy-first writers

For most of 2026 the privacy-first Markdown tool conversation has been about which editor or which renderer to choose, as if a single tool had to cover both jobs. The Free MD Viewer plus md2rich combination is the cleaner split: one open-and-edit tool that lives on your local disk and one publish-and-paste tool that lives in your browser tab. The Markdown source stays the only canonical artifact. Both tools refuse to upload it. Neither tool needs an account. Either tool works offline if you save the page locally first.

If you want to try the workflow, here is the order of operations:

  1. Open Free MD Viewer in Chrome or Edge desktop and accept the install prompt. Double-clicking a .md file on your machine now opens it directly in the viewer.
  2. Open hattray/markdown-editor if you want to inspect the bundled libraries or self-host the page on your own domain. The entire app is one HTML file.
  3. Open md2rich in the same or a different window. Paste the polished Markdown and pick a target render mode. Copy the rich text out and paste it into LinkedIn, X Articles, Medium, or Notion.

Files never leave your machine. AI tools produce a .md; Free MD Viewer reads and edits it; md2rich renders it for the social platform. No tool in this pipeline has an upload endpoint, and the README for Free MD Viewer explicitly lists features that would need a server as out of scope by design. The same is true for md2rich's static page: no fetch, no telemetry, no analytics, no account. If your threat model cares about where the bytes go, this pipeline is checkable end-to-end from view-source.

Last verified 2026-09-01. Vendors and pricing subject to change.

FAQ

What is Free MD Viewer and what problem does it solve?

Free MD Viewer is a single-file Markdown viewer and editor built by Hattray (Kingsbridge Consultancy) and open-sourced on GitHub at hattray/markdown-editor under MIT. Launched via Show HN on August 31, 2026 with 22 points and 11 comments by September 1, it runs entirely in the browser with no upload endpoint, no account, and no server-side rendering. Drop a .md file on the page and read it as a properly rendered document; open the same .md file from disk in Chrome or Edge and the editor saves back to the original file via the File System Access API. The unique selling point is that the entire app is one ~3.6 MB self-contained index.html with every library and font inlined, so you can save the page locally and run it from file:// offline.

How is Free MD Viewer different from md2rich?

Free MD Viewer solves the open-and-edit problem: turn the raw Markdown that an AI tool hands you into a readable document and edit it. md2rich solves the publish problem: turn your finished Markdown into rich text that LinkedIn, X Articles, Medium, and Notion accept on paste. Both are client-side and privacy-first; both work without an account and without uploading your document. The cleanest workflow uses Free MD Viewer to read and edit the .md files that AI agents write and md2rich to convert the same Markdown into rich text for publishing. They are complements, not competitors.

Does Free MD Viewer upload my Markdown to a server?

No. Free MD Viewer runs entirely client-side. The README states this is verifiable, not promised: every library and font is inlined into a single 3.6 MB index.html, so opening devtools and watching the network tab shows no upload endpoints hit during editing or export. The exported .html, .png, and PDF are generated in-page. The save-back-to-file feature uses the File System Access API, which is browser-to-disk only and never reaches a remote service. Like md2rich, the privacy claim is checkable: read the source with view-source.

Can Free MD Viewer replace Obsidian or Typora?

For read-and-edit a single .md file, yes. Free MD Viewer supports GFM tables and task lists, fenced code with syntax highlighting via highlight.js, Mermaid diagrams, LaTeX math via KaTeX, GitHub callouts (NOTE / TIP / IMPORTANT / WARNING / CAUTION), and a table of contents. It exports to .html, .png, and PDF. What it does not do is manage a vault of thousands of linked files, sync to a paid cloud, or run plugins like Obsidian does. It also does not have a WYSIWYG-into-Markdown round trip like Typora did before its paywall. For a single-file or per-chapter workflow, Free MD Viewer is excellent. For a vault with hundreds of linked notes, the trade-off is wrong.

Does Free MD Viewer work offline?

Yes. The README documents that the entire app, all its libraries, and the KaTeX fonts are inlined into one ~3.6 MB self-contained index.html. You can save the page locally and run it from file:// without a network connection. The service worker registers when you install it as a Chrome or Edge app, and the File System Access API launch handle still works offline, so double-clicking a .md file from disk opens the viewer and Save writes straight back to the file. The vendor libraries bundled in the HTML are marked 14.1.4, DOMPurify 3.2.7, highlight.js 11.11.1, KaTeX 0.16.22, and Mermaid 11.12.0; their licenses travel with the file and are listed at the top of the built HTML as comments.

How do I install Free MD Viewer as a Chrome or Edge app?

Open the live page at kingsbridge-consultancy.com/md-viewer in Chrome or Edge desktop and accept the install prompt. The manifest.json declares file_handlers so that double-clicking any .md or .markdown file on your machine opens it in the installed viewer. The launch handle is a real FileSystemFileHandle, so Save writes straight back to the file you opened (instead of forcing a download). On other browsers the install option is not offered, but the page still works as a regular web app; saving falls back to a download.

Want to try the publish step right now? Try md2rich — paste any Markdown, copy the rendered rich text, paste into LinkedIn, X Articles, Medium, or Notion.