By · Updated

Markdown Editor

Live Markdown Preview for Headings, Tables and Code, With Autosaved Drafts

No ratings yet

OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.

How the Markdown Editor works

This Markdown editor previews as you type. Paste markdown on the left and the rendered document appears on the right as you type. Headings, emphasis, links, images, blockquotes, fenced code, ordered and unordered lists, task lists and pipe tables are all supported, so you can check a README or a changelog before you commit it. Open a .md file to edit it, save your work back out as .md, and your draft is kept in this browser so it is still there when you come back.

Markdown editor: what it does and why

Markdown is the closest thing writing has to a universal format. It is plain text, so it survives email, version control and copy-paste intact, and it reads perfectly well before anything renders it. But every place that accepts markdown renders it slightly differently, and the gap between what you typed and what a reader sees is where the mistakes live — a list that never became a list, a table that lost a column, a link with a stray bracket, a code block that swallowed the rest of the page.

This viewer covers the parts of the syntax people actually use day to day. Headings with one to six leading hashes. Bold with double asterisks or underscores, italic with single, strikethrough with double tildes. Inline code with backticks, and fenced blocks with three backticks or three tildes, with an optional language name on the fence line. Links and images in the [text](url) form, plus bare autolinks in angle brackets. Blockquotes with a leading angle bracket, which can contain other blocks. Horizontal rules from three or more dashes, asterisks or underscores. Nested ordered and unordered lists, including GitHub-style task lists where - [ ] and - [x] become checkboxes. And GitHub-style pipe tables, with the :---, :---: and ---: markers setting column alignment.

Two details catch people out often enough to be worth stating. A single newline inside a paragraph is not a line break — markdown joins those lines into one flowing paragraph, which is what lets you hard-wrap your source at 80 columns without wrecking the output. To force a break inside a paragraph, end the line with two or more spaces. And a fenced code block must have its opening fence on its own line; putting the first line of code on the fence line makes the parser read it as a language name instead.

The editor works on files as well as pasted text. Open .md loads a markdown file from your device, and Save .md downloads the current text as a markdown file — under the name of the file you opened, or named from the first heading if you started from scratch. While you type, the draft is autosaved to this browser's local storage and restored the next time you open the page, so a closed tab or a crash does not cost you the document. Reset clears both the editor and the saved draft.

Rendering happens in your browser as you type, with no request to any server, and the autosaved draft lives only in this browser's storage. That matters more for markdown than for most formats, because the markdown people most want to preview is unpublished: a draft post, an internal runbook, release notes for something not announced yet, notes with client names in them. Nothing here leaves the tab, and closing it disposes of everything except the draft, which Reset removes. Links in the preview are rendered inert against script-bearing URLs — anything that is not a normal web or mail address is neutralised rather than followed.

FAQ

Why did my single line breaks disappear?

Markdown treats consecutive lines as one paragraph by design, so that source text can be wrapped at a comfortable width without affecting the output. End a line with two spaces to force a break, or leave a blank line between the lines to make them separate paragraphs.

Does it support tables and task lists?

Yes. Pipe tables in the GitHub style are supported, including the alignment row that decides whether each column is left, centre or right aligned. Task lists written as - [ ] and - [x] render as checkboxes, shown in their ticked or unticked state.

Will this match exactly what GitHub shows?

Closely, for everyday syntax, but not identically. GitHub layers its own extensions on top — issue references, @mentions, emoji shortcodes, syntax highlighting — and applies its own stylesheet. Structure, lists, tables and code blocks will match; the exact typography will not.

Is my draft saved if I close the tab?

Yes. Everything you type is autosaved to your browser's local storage and restored when you come back to the page on the same device and browser. It is never sent anywhere. Private windows and browsers that block site data will not keep it, so use Save .md for anything you need to keep. Reset clears the saved draft.

Can I open and save .md files?

Yes. Open .md loads a markdown or plain text file from your device into the editor, and Save .md downloads what is in the editor as a .md file. The file is read and written entirely in your browser, with no upload.

Can I get the HTML out of it?

Yes — the Copy HTML button puts the rendered markup on your clipboard, ready to paste into a template, a CMS or an email builder. It is the fragment only, with no <html> or <body> wrapper and no styles, so it drops into an existing page cleanly. Copy text gives you the plain rendered text instead, and the print button hands the formatted document to your browser's print dialogue, which is also how you save it as a PDF.

See also: all Markdown & HTML tools, Writing & Editing, Lists & Lines, Ciphers & Alphabets.

Related tools