Document to PDF (Markdown / plain text)
DocumentsEverything runs locally in your browser — nothing is uploaded
Everything is laid out and generated in your browser; the document is not uploaded. The text in the result is **not selectable** — it is rendered to images by the browser and placed into the PDF, which is what lets Chinese work without downloading megabytes of fonts. For selectable, searchable text, use your browser own Print → Save as PDF.
Lay out Markdown or plain text as a PDF: graded headings, indented lists, quotes, fenced code blocks, bold and italic, automatic pagination and page numbers. One thing has to be said up front: the text in the result is not selectable and not searchable. Putting text into a PDF means embedding a font, and for Chinese or Japanese there is no built-in standard font — you would need a CJK font, the smallest usable one being several megabytes. For a static site that is meant to work the moment it opens, that is a bad trade for one tool page. So this renders with the browser own fonts onto a canvas and places each page into the PDF as an image: Chinese, Japanese and emoji all come out right, with no extra download and no network. If you need selectable, searchable text, the browser own Print → Save as PDF is the better route — that goes through a real layout engine and the text stays text.
Features
- Markdown layout: graded headings, lists with nested indentation, quotes, fenced code blocks, horizontal rules
- Inline formatting: bold, italic, inline code
- CJK line breaking, plus the most common kinsoku rule (punctuation is never left at the start of a line)
- Automatic pagination, with code blocks kept whole (splitting a listing in half is worse than an extra page)
- A4 or Letter, portrait or landscape
- Adjustable type size and margins, with toggles for Markdown parsing and page numbers
- With Markdown parsing off, the text is laid out verbatim — markers appear as written
- The result card reports the page count and the file size
- Documents over 100,000 characters are refused clearly rather than freezing the tab
- Everything runs locally in the browser; the document is never uploaded
How to use
- Paste Markdown or plain text
- Adjust paper, type size and margins as needed
- Press Generate PDF
- Press Download PDF
FAQ
- Why is the text in the PDF not selectable?
- Because it is an image. Putting text into a PDF requires embedding a font, and for Chinese or Japanese there is no standard built-in one — you would have to embed a CJK font, the smallest usable being several megabytes. For a static site that should work the moment it opens, making the browser download megabytes of font for one tool page is a bad trade. So this lays text out on a canvas using the browser own fonts and places each page into the PDF as an image: CJK and emoji all render correctly, with no extra download and no network. The cost is that the text cannot be selected or searched, and the file is larger than a text-based PDF.
- What if I need selectable, searchable text?
- Use the browser own Print → Save as PDF. Paste the content anywhere that renders rich text (a Markdown preview, a web page, Word), press Ctrl/Cmd + P and choose Save as PDF. That route goes through the browser layout engine and the output is real text: selectable, searchable and much smaller. What this tool is for is turning plain text into a PDF you can send, in places where nothing else will.
- Which Markdown syntax is supported?
- Block level: `#` to `######` headings, `-` and `1.` lists (nested by indentation), `>` quotes, triple-backtick fenced code blocks and `---` rules. Inline: `bold`, `*italic*` and `` `inline code` ``. Deliberately unsupported: tables, images, footnotes and raw HTML — they need either a real layout engine (table column widths) or external resources (images). Inline markers do not nest (bold wrapped around italic will not do what you expect), matching the rule used elsewhere on this site. Anything not parsed appears in the PDF as written.
- Why does the CJK line breaking look right?
- Two things together. First, splitting on spaces and only then breaking over-long "words" by character — Chinese has no spaces, so a whole paragraph is one word, and splitting on spaces alone would overflow the line. Second, kinsoku: a full stop or comma that lands at the start of a line is pulled back to the previous one. The complete kinsoku rules run to dozens of cases (plus punctuation compression and start/end prohibitions) and belong to a layout engine; handling the most common layer is enough here — doing less is better than doing it wrong.
- Is there a length limit?
- Over 100,000 characters is refused, with the reason given. Layout and drawing are synchronous (measuring every line, painting every page), and a few hundred thousand characters would freeze the tab for tens of seconds — at which point the user simply concludes the tool is broken. So it refuses before starting and suggests splitting the document. Size is mostly a function of page count: each page is a 2× PNG, roughly one to two hundred kilobytes.
- Is my document uploaded?
- No. Layout, drawing and PDF assembly all happen in browser memory; the page makes no requests and works offline.
Related tools
Images to PDF
DocumentsCombine JPEG and PNG images into a single PDF, one image per page, on pages that match each image or on A4 and other fixed paper sizes.
PDF Compress
DocumentsRenders every page to JPEG and rebuilds the PDF; scans often shrink by 70–90%. The trade-off: text becomes an image. Nothing is uploaded.
Markdown Preview
TextWrite Markdown on the left, see it rendered on the right — heading anchors, a table of contents, highlighted code blocks. Pasted HTML stays text.
PDF Merge
DocumentsCombine several PDFs in the order you choose, or take only certain pages from each. Rename the result; contracts never leave your browser.
PDF Split
DocumentsExtract pages into one file, or split into a file per N pages. Output names carry the page range, so a file sent on still makes sense. Nothing is uploaded.
PDF Page Numbers
DocumentsStamp page numbers on every page: six positions, three formats, a start value and a size you choose, and an option to skip the cover.