PDF to Markdown for GitHub

GitHub renders Markdown everywhere — READMEs, wikis, issues, PR descriptions. PDFs render nowhere: they're attachments, not content. Convert once and your specs, RFCs and design docs become real, navigable parts of the repo.

Why convert PDFs to Markdown for this?

A PDF dropped into a GitHub repo is dead weight. It doesn't show up in code search, doesn't render inline anywhere, and you can't review it line-by-line in a PR. Converting the same content to Markdown changes all of that: GitHub renders the file on the repo page, search indexes its text, and changes diff cleanly. For RFCs, ADRs, vendor specs and team handbooks, Markdown is the only format that actually lives in a code repo properly. PDF → Markdown is what gets you from "we have a PDF in /docs" to "we have a working docs section".

How to use t0md

Drop the PDF on t0md, download the .md. Commit it to your repo under `docs/`, `rfcs/`, or wherever your project keeps written work. For wiki pages, paste the Markdown directly into the wiki editor — GitHub uses GitHub-Flavored Markdown so the t0md output renders without modification. For issues and PR descriptions, paste sections (or the whole doc if it's short). For organisation-wide docs, GitHub Pages reads Markdown from a docs branch and serves it as a static site.

# Add a converted PDF to a repo
git add docs/architecture.md
git commit -m "docs: convert architecture PDF to Markdown"

Related guides

Frequently asked questions

Will the rendered Markdown look right on github.com?

Yes. t0md emits CommonMark with GitHub-compatible table syntax. Headings, lists, code blocks, links and tables all render natively on the file view, in the wiki, and in issues/PRs.

Should I keep the original PDF in the repo too?

Up to you. Some teams keep the .pdf as the canonical source (signed, dated) alongside the .md as the readable version. Others drop the .pdf entirely once Markdown is in git. Either pattern is fine.

Does this work for private repos and enterprise GitHub?

Yes. The conversion happens on t0md.com; what you commit to the repo is just text. Enterprise GitHub renders Markdown identically to github.com.