Skip to content
MD2PDF

Convert a README to PDF

This converts a GitHub README.md into a PDF with its tables, fenced code blocks, task lists and links intact — free, in your browser, with nothing uploaded. It is what you want when documentation has to leave the repository: an appendix for a report, a handout for a review, an attachment for a client who will not be cloning anything. Paste the raw markdown rather than the rendered page, and everything GitHub renders renders here too.

Open the editor

How to convert a README to PDF

  1. Copy the raw markdown

    On GitHub, open README.md and click Raw, then copy everything. Copying the rendered page instead would lose the markdown.

  2. Paste it into the editor

    Drop it in and the preview renders immediately — headings, tables, code fences and task lists.

  3. Add a cover and contents, then download

    Turn on the cover page and table of contents for anything long, then click Download PDF.

What you get

Fenced code, highlighted

Language-tagged code fences keep their indentation and get syntax colouring on a tinted panel.

Tables survive page breaks

Pipe tables render with column alignment and repeat their header row on every page they span.

Contents from your headings

A table of contents is generated from the heading structure, with matching PDF bookmarks in the reader's sidebar.

Nothing uploaded

Private and internal documentation is converted locally — the text never reaches a server.

Copy the raw markdown, not the rendered page

This is the one step that catches people out. Selecting a README on github.com and copying it gives you the rendered HTML output, which arrives as an undifferentiated block of text with the markdown syntax already consumed — no headings, no code fences, no table pipes. Click the Raw button first, or open the file on raw.githubusercontent.com, and copy from there. What you paste should still have its # characters, its backtick fences and its pipe tables visible. If your preview looks like flat prose where the README had structure, this is why.

What happens to badges, images and relative links

Most READMEs open with a row of shields.io badges, which are remote images. Nothing is fetched from the network during conversion — that is the same design decision that keeps your document private — so remote images are drawn as their alt text rather than downloaded. Delete the badge block before exporting, or paste a screenshot in its place; pasted images are embedded properly. Relative links to other files in the repository will not resolve outside it, so it is worth turning the important ones into absolute URLs first. Absolute links work normally and stay clickable in the PDF.

Making long documentation readable in print

A README is written for scrolling and needs a little help before it prints well. Turn on the table of contents so a reader can navigate a long document, and the cover page so it has a title and a date rather than starting mid-sentence. Page numbers matter as soon as anyone might print it or refer to a section aloud. If the document is mostly code, widening the margins slightly and dropping to 10pt keeps long lines from wrapping awkwardly inside the code panels — a wrapped line of shell is much harder to read than a wrapped line of prose.

What this does not do

Frequently asked questions

Why does my README look like plain text in the preview?
You almost certainly copied the rendered GitHub page rather than the raw file. Click Raw on GitHub first, then copy — the markdown syntax needs to still be visible in what you paste.
Do the shields.io badges come through?
No. Nothing is fetched over the network during conversion, so remote images render as their alt text. Delete the badge row before exporting, or paste a screenshot instead.
Can I convert a private repository's documentation?
Yes, and it is a good fit — conversion runs entirely in your browser, so private documentation is never transmitted anywhere.
Will the code blocks stay highlighted?
Yes, when the fence carries a language tag. Highlighting comes from a built-in tokenizer, and indentation is preserved exactly.
Can I convert several README files into one PDF?
Not automatically, but you can paste them into one document one after another, adding a heading before each, and export the result as a single PDF with a table of contents.
Do links stay clickable in the PDF?
Absolute links do. Relative links written for the repository will not resolve, so convert those to full URLs before exporting.
Is there a page limit?
No. Documents of any length convert, and there is no watermark regardless of size.

Start from a template