Skip to main content
PulsarKit

Markdown editor

Markdown on the left, the finished page on the right, updating as you type, with a draft that survives a reload and an HTML export that works offline.

Drop your files here

.md, .markdown, .txt · up to 5 MB

How to Open editor

  1. 1

    Write or drop a file

    Any .md, .markdown or .txt file up to 5 MB.

  2. 2

    Watch the preview

    Tables, task lists and strikethrough included.

  3. 3

    Export it

    Markdown, a self-contained HTML file, or print straight to PDF.

The preview is sanitised, always, in every mode

Markdown allows raw HTML, and raw HTML from an unknown source is executable code. A preview on the same origin as the rest of the site means an image with an onerror handler in someone else's document is a cross-site scripting hole on this domain, not a quirk of the editor. So every preview here passes through a sanitiser, without exception and with no setting to turn it off. The Allow HTML option changes only what reaches the parser. With it off, tags in the source are escaped and shown as text; with it on, they are parsed and then cleaned. Links are given noopener and nofollow whatever the source said, and image sources are restricted to https and data URLs.

Two libraries, loaded when you start typing

A parser and a sanitiser are about twenty kilobytes together, and an empty editor should not pay for them. They are fetched on the first character you type, which is invisible in practice and keeps the page itself as light as every other text tool here. Nothing else is loaded at any point: there is no syntax-highlighting editor, no framework for the toolbar, and no web fonts in the exported HTML.

The draft is in your browser and nowhere else

Your text is saved locally every couple of seconds, so closing the tab by accident does not lose the document. It lives in this browser's storage on this device. It is not synced, not uploaded, and not visible to us in any form, and clearing the editor removes it. Very large documents are not saved: browser storage is limited to a few megabytes in total, and one document should not consume all of it, so above a megabyte autosaving switches off and says so.

Exporting to HTML and to PDF

The HTML export is a single self-contained file: doctype, character set, the preview styles inlined, and the sanitised body. There are no external stylesheets or fonts, so it opens correctly offline, in an email attachment, or in five years. For PDF the editor uses the browser's own print dialogue rather than shipping a PDF engine; the browser already has correct fonts, hyphenation and page breaks, and a print stylesheet hides the editor so only the document is printed.

Nothing is uploaded, and the draft never leaves this device

Parsing, sanitising, previewing and exporting all happen in your browser. There is no server involved, no account, and no copy of your document anywhere but this device, including the autosaved draft, which lives in this browser's local storage and is deleted when you clear the editor.

Frequently asked questions

Is my document uploaded anywhere?

No. Everything happens in your browser, and the autosaved draft is stored locally on this device only.

Can I use raw HTML in my Markdown?

Yes, with the Allow HTML option. It still passes through the sanitiser, so scripts and event handlers are removed. That is not optional, because the preview runs on the same domain as the rest of the site.

What does GitHub flavour add?

Tables, task lists, strikethrough and automatic links. It is on by default.

How do I get a PDF?

Use Print and choose Save as PDF. The browser's own print engine handles fonts and page breaks better than any bundled PDF library would, and a print stylesheet hides everything except the document.

Will the exported HTML work without internet?

Yes. It is a single file with the styles inlined and no external references at all.

Where is my draft kept?

In this browser's local storage, on this device. It is not synced anywhere, and clearing the editor deletes it. Documents over a megabyte are not saved, and the page tells you when that happens.

Does it work offline?

Once the page and its two small libraries have loaded, yes. Writing, previewing and exporting all work with no connection.

Related tools