Markdown

Write Markdown with a live preview and take away clean HTML.

Runs in your browser — nothing you type here is sent anywhere.
Source
155
words
1m
read at 200 wpm
6
headings

CHANCE//OS notes

A local Markdown renderer — nothing leaves the tab. Try editing anything on the left and watch the right-hand side keep up.

Inline

Emphasis works the way CommonMark says it should: italic, bold, both, struck through, and code spans with a literal ` inside. Word-internal abc italicises, but snake_case_words are left alone.

Links: the site, an autolink https://example.com/path?q=1, a bare one https://example.org/docs, and mail to hello@example.com. Escapes work too: *not emphasis*. Two spaces at the end of a line force a hard break.

Lists

  1. Ordered, starting at one
  2. Second item
    • nested and tight
    • with code inside
  3. Third
  • loose items get wrapped in paragraphs

  • because a blank line separates them

Quote and code

Nested quotes work.

Two levels deep, with a list:

  • one
  • two
// fenced, with a language tag
export const greet = (name: string) => `hi ${name}`;
indented code is a block too

Table

FeatureStatusNotes
Tablesyesalignment honoured
Raw HTMLescapedon purpose
javascript: URLsrefusedsee below

Setext heading

That was an = underline, and the rule above was a thematic break.

characters in1,347
characters out2,423
first heading#chanceos-notes

Blocks are parsed first, then inlines — so emphasis follows the CommonMark flanking rules and a*b*c italicises while snake_case_words do not. ATX and setext headings, fenced and indented code, nested blockquotes, tight and loose lists, GFM tables and strikethrough all work. Every character of your text is escaped on the way out and raw HTML is escaped rather than passed through, so a <script> in the source can never become one in the preview; javascript:, data: and vbscript: URLs are refused even when hidden behind character references. Nothing is uploaded — the parser runs in this tab.

Every renderer differs slightly, so the useful thing is seeing your text rendered and being able to take the resulting HTML somewhere else without a wrapper of framework markup.

The preview updates as you type and the HTML output is plain and unstyled — usable in an email, a CMS field or a template. Tables, code blocks and task lists are supported, and it all runs locally.

What people open it for

In the terminal

tools markdown

Every utility is also a command in the desktop's shell.

More text tools

Open the full desktop, with all 47 utilities