Three ways to use it

Pick what fits: write in the browser editor, generate a self-contained document with a CLI, or render with the parser in your own code.

The editor (nothing to install)

Open the editor and start typing. It renders live with orz-markdown. In Chrome or Edge you can install it (the install icon in the address bar), and then:

  • It opens in its own window and works offline.
  • It registers as a .md handler. Set it as your default and double-click any .md to edit it; Ctrl/⌘ S saves back to the same file.
  • Switch the preview theme and toggle dark mode from the toolbar.

File association and in-place Save use Chromium-only APIs. In other browsers the editor still runs; use Open and Save as.

Open the editor →

Generate a self-contained file

Install a family tool, then turn a Markdown file into one portable, editable .html:

# a continuous document
npx orz-mdhtml  notes.md       # -> notes.md.html

# a slide deck
npx orz-slides  deck.md        # -> deck.slides.html

# a print / PDF document
npx orz-paged   paper.md       # -> paper.paged.html

Each writes a single self-contained file. Open it to read, present, or print; click the edit affordance to change it and Save in place. --cdn makes a smaller file that loads the engine from jsDelivr; the default --inline embeds it for offline use.

More about the three document types →

Render with the parser

Install orz-markdown and render Markdown to HTML:

import md from 'orz-markdown';

const html = md.render('# Hello {{emoji wave}}');
// place inside <article class="markdown-body">…</article>
// with one of the bundled themes

See the features for the full syntax, and the README for themes and the agent skill.

Verifying a file someone sent you

These documents are programs: opening one runs its embedded code. Before trusting a file from an untrusted source, run it through the verifier. It hashes the embedded framework against the genuine published packages and scans the content for embedded scripts, entirely in your browser. Treat anything it cannot confirm like a downloaded app.

Open the verifier →