Complete Guide: Every Feature of Our Markdown to PDF Tool
MyPDF Guru’s Markdown to PDF converter is a full writing and export tool that runs entirely in your browser. You type or paste Markdown on the left, see a live preview on the right, and download a real PDF with selectable text—no account, no upload to our servers, and no watermarks. Below is a simple, detailed walkthrough of every feature built into this tool.
100% On-Device — Your Content Never Leaves Your Computer
This is the most important thing about our tool: everything happens on your device. When you write Markdown, preview it, or click Download PDF, the work is done inside your own browser. We do not send your document to our servers. We do not store your files. We cannot read your notes, reports, or code.
Your Markdown stays private on your phone, tablet, or computer. PDF building uses pdfmake locally in the browser. Images are fetched only from the URLs you put in your document (for example GitHub or Firebase links)—not uploaded to MyPDF Guru. That makes this tool safe for homework, work reports, README files, and anything confidential.
Split-pane editor and live preview
The main screen is split into two panes. On the left you have a Markdown editor—a big text area where you write or paste your content. On the right you have a live preview that shows how your document will look, almost like reading it on a web page.
As you type, the preview updates automatically (with a short pause so typing stays smooth). You do not need to click a “Refresh” button. What you see in the preview is what we use when building your PDF, so you can fix mistakes before you download.
Upload an existing .md file
Already have a Markdown file? Click Upload .md file and choose a file from your device. We accept .md, .markdown, and plain .txt files. The full text loads into the editor, images in the file are prepared for preview, and the preview updates right away.
The file is read only on your device using the browser’s FileReader—again, nothing is uploaded to us.
One-click PDF download with real, selectable text
Click Download PDF and the tool prepares your document in the browser: it loads images, renders badges and emojis, processes math, and then builds a PDF using pdfmake. The file downloads automatically to your device.
Unlike tools that turn your page into a screenshot, our PDF keeps real text. You can select, copy, and search text in the PDF. Links in your Markdown stay clickable. Tables stay as tables. Code blocks keep readable fonts and colors.
Copy Markdown and Clear editor
Copy Markdown copies everything in the editor to your clipboard so you can paste it into another app. The button briefly shows “Copied!” when it works.
Clear empties the editor after asking you to confirm, so you do not lose work by accident. The preview clears too.
Character and word count
At the bottom of the editor you always see a live character count and word count. These update as you type, which is helpful for essays, assignments, or documents with length limits.
Formatting toolbar — quick buttons for common Markdown
Above the editor is a toolbar so you do not have to remember every Markdown symbol. Each button inserts the right syntax at your cursor (or wraps selected text):
- Bold — wraps text in
**double asterisks** - Italic — wraps text in
*single asterisks* - Heading — inserts a level-2 heading line (
## Heading) - Link — inserts
[link text](url) - Inline code — wraps text in backticks
- Code block — inserts a fenced code block with three backticks
- Table — inserts a starter table with headers and rows
- Unordered list — inserts a bullet list item
- Ordered list — inserts a numbered list item
- Blockquote — inserts a quote line starting with
> - Horizontal rule — inserts
---for a divider line
Full GitHub-Flavored Markdown (GFM) support
We use marked.js with GitHub-Flavored Markdown turned on. That means standard Markdown plus extras people expect from GitHub README files:
- Headings —
#through######(six levels). Bigger headings look larger in preview and PDF. - Bold and italic —
**bold**,*italic*, and combinations. - Links —
[text](https://example.com)become blue, underlined, clickable links in the PDF. - Images —
show pictures in preview and PDF. - Lists — bullet lists (
-or*) and numbered lists (1.), including nested lists (a list inside a list). - Tables — pipe tables with header row and alignment rows, just like on GitHub.
- Blockquotes — lines starting with
>, styled with a gray left bar in the PDF. - Horizontal rules —
---draws a clean divider line. - Fenced code blocks — triple backticks with an optional language name (e.g.
javascript,python). - Raw HTML — HTML blocks (like
<img>or<div>) in your Markdown are supported where needed for README-style content.
Syntax highlighting in preview and in the PDF
Code blocks are highlighted in the live preview using highlight.js with the popular GitHub-style color theme. Keywords, strings, comments, and other parts of code get different colors so code is easy to read.
When you download the PDF, we do not throw away those colors. The same highlight.js engine runs again, and we map every color (red keywords, blue strings, gray comments, and more) into the PDF using pdfmake. Your code blocks arrive in the PDF with a light gray background, monospace font, and syntax colors matching the preview. If you do not specify a language, we auto-detect it when possible.
Math equations with KaTeX
Need math in your document? Write inline math with single dollar signs: $E = mc^2$. Write display math (centered, on its own line) with double dollar signs: $$\int_0^1 x^2 \, dx$$.
We use KaTeX to render math in the preview. For the PDF, simple math stays as text where possible; complex formulas are rasterized sharply so they look clear when printed. Math errors are handled gently—the raw formula is shown if something cannot be rendered.
Emojis — including flags and keycaps
Emojis in your text (😀 🎉 ✅ 🏳️🌈 1️⃣) are detected intelligently, including tricky ZWJ sequences (like rainbow flag) and keycap emojis. In the preview they appear as crisp Twemoji SVG images, similar to GitHub.
In the PDF, emojis are embedded as images so they print reliably across devices. Emojis inside code blocks are left alone so your code stays exact.
Images — Markdown, HTML, and linked pictures
Add images with standard Markdown  or with HTML <img src="..."> tags. Images scale to fit the page width while keeping their shape. Tall images shrink; wide images use the full content area between margins.
Linked images work too: if an image is wrapped in a link, the picture in the PDF stays clickable and opens the same URL. We prefetch images in the background so the preview loads faster after you paste a long README.
GitHub, GitLab, Bitbucket & Gist README images
Paste a README from GitHub and images often “just work.” We automatically fix common hosting URLs:
- GitHub blob links —
github.com/.../blob/...become directraw.githubusercontent.comlinks. - GitHub raw links — already-correct raw URLs are kept.
- Relative image paths — if your Markdown contains a GitHub repo link, paths like
figures/chart.pngare resolved against that repo’s raw folder. - GitLab —
/-/blob/links become/-/raw/links. - Bitbucket —
/src/links become/raw/links. - Gist — gist.github.com raw paths are normalized.
This is especially useful for open-source README files, documentation, and project pages you want as PDF handouts—all processed on your device.
README badges (shields.io, badgen.net)
GitHub README badges from shields.io, badgen.net, and similar services are supported—including SVG badges. We rasterize them at high quality for the PDF so “build passing,” “npm version,” and star-count badges look sharp.
The common pattern [](repo-url) is handled specially: the badge image appears in the PDF and remains clickable to the repository link. If a badge fails to load, we try sensible fallbacks so your PDF still exports.
Firebase & cross-origin images (still on-device)
Some image hosts (like Firebase Storage) do not allow browsers to read images directly because of CORS rules. Our tool handles this on your device by trying smart client-side fetch strategies and image proxies (such as wsrv.nl) to load the picture for your PDF—your Markdown still never goes to our servers.
If one URL fails, we automatically try alternate proxy URLs and cached preview images. HTML banner blocks that are hard to fetch piece-by-piece can be snapshotted with html2canvas locally as a last resort so complex README layouts still export.
PDF Output Settings — full control over the final file
Open PDF Output Settings to customize how the downloaded PDF looks:
- Page size — A4 (default), US Letter, or Legal.
- Orientation — Portrait or Landscape (great for wide tables or slides).
- Font size — 12px, 14px, or 16px base size. This updates the preview font too so WYSIWYG (“what you see is what you get”).
- Margins — Normal, Narrow (more text per page), or Wide (more white space).
- Theme — Default, GitHub style, or Minimal visual theme option.
- Page numbers — Optional footer on every page: “Page 1 of 5”, centered at the bottom.
Smart PDF filename from your title
When you download, the suggested filename is chosen automatically. If your Markdown starts with a top-level heading (# My Report Title), that title becomes the filename (for example My-Report-Title.pdf). Unsafe characters are removed. If there is no main heading, the default name is document.pdf.
Keyboard shortcut — Ctrl+P / Cmd+P
Press Ctrl+P on Windows/Linux or Cmd+P on Mac while on this page to trigger the same Download PDF action as the button. Handy when you are writing and want a quick export.
Mobile-friendly — Edit and Preview tabs
On phones and small screens the side-by-side layout becomes a tabbed view: tap Edit to write and Preview to see the rendered document. Buttons stack vertically for easy tapping. Upload, Download, Copy, and Clear stay one tap away.
We also optimized performance for mobile and low-end devices: preview updates are debounced, heavy work runs in small batches, and live preview waits until you open the Preview tab so typing stays smooth—all still 100% on your device.
Fast, free, and unlimited
No signup. No email. No daily limit. No watermark on your PDF. Open the page and start converting. Use it for school, work, blogging, or open-source docs as much as you want.
Privacy summary — why “on-device” matters
Many online converters upload your file to a remote server, process it, and send it back. That can be slow and risky for private data. MyPDF Guru’s Markdown to PDF tool is different:
- Your Markdown text is processed only in your browser.
- PDF creation runs with pdfmake on your machine.
- We do not store your documents on our servers.
- Image loading uses URLs you put in the document—not a file upload to us.
That is why teachers, developers, lawyers, and students trust browser-based tools for sensitive drafts. Your device does the work; we just provide the page.
Who is this tool for?
Students turn lecture notes or assignment drafts into PDFs for submission. Developers export README files with badges, code, and screenshots. Writers draft in Markdown and share a polished PDF. Teams share internal docs without sending content through third-party converters. Anyone who wants Markdown → PDF with live preview and real text output benefits.
More free PDF tools on MyPDF Guru
After your PDF is ready, you might want to merge it with other PDFs, split pages, compress file size, add a watermark, or sign it. Every tool on MyPDF Guru follows the same idea: fast, free, and private in-browser processing where possible.
Write Markdown, preview live, tune PDF settings, and download—all on your device, with every feature above built in. Scroll down to the FAQ for quick answers, or start typing in the editor above to try it now.