Вернуться в блог

How to Convert IPYNB to PDF Without Installing LaTeX

LaTeX is the #1 reason nbconvert fails. Here are three proven ways to convert Jupyter Notebooks to PDF with zero LaTeX installed — including nbconvert's own webpdf exporter.

  • #nbconvert
  • #latex-free
  • #guide

If there's a single reason people give up on nbconvert, it's LaTeX. The default --to pdf path shells out to xelatex, which means you need a 2–4 GB TeX distribution, correct font config, and a PATH that points to the right binaries. On macOS, Windows, and most Linux distros, at least one of those is usually wrong out of the box.

The good news: you don't need LaTeX at all to get a clean PDF from a Jupyter Notebook. Here are three reliable LaTeX-free paths.

Option 1 — nbconvert --to webpdf

nbconvert 6.5+ ships a webpdf exporter that renders the notebook in headless Chromium and prints to PDF. Same tool, no TeX dependency.

Setup:

pip install "nbconvert[webpdf]"
playwright install chromium

Then convert:

jupyter nbconvert --to webpdf notebook.ipynb

Pros: Fully local, output mirrors what you see in JupyterLab, no LaTeX whatsoever. Cons: Requires ~300 MB for Chromium; the playwright install step can fail behind corporate proxies.

Option 2 — HTML Export + Browser Print

The original LaTeX-free path, and still one of the most flexible.

jupyter nbconvert --to html notebook.ipynb

Open the resulting HTML in Chrome, Firefox, or Safari, then Cmd/Ctrl + P → Save as PDF. The browser handles all rendering.

Pros: Zero extra dependencies beyond a browser. Full control via print CSS if you want to tweak margins, fonts, or page breaks. Cons: Manual step. Cell numbering and some inline images don't always survive without custom CSS.

Option 3 — Online Converter

If you don't have Python or just don't want to manage a local toolchain, a browser-based converter like ipynbtopdf.org does the work for you.

  1. Open the site.
  2. Drop your .ipynb in.
  3. Download the PDF ~3 seconds later.

Pros: Nothing to install, works on any OS including Chromebooks and iPads, handles matplotlib + LaTeX math + wide pandas tables correctly. Cons: Requires internet. Worth reading the provider's deletion policy.

Why Skipping LaTeX Is Usually the Right Call

LaTeX produces beautiful PDFs, but it wasn't designed for interactive notebook content. In practice, it introduces three recurring headaches:

  1. Install size. MacTeX is 4 GB. TeX Live's full install is similar. MiKTeX is smaller but still hundreds of MB.
  2. Unicode failures. Emoji, CJK characters, and even smart quotes regularly break pdflatex. Switching to xelatex helps, but only if you also install the right fonts.
  3. Slow iteration. A typical LaTeX-based conversion takes 90–180 seconds. That kills the edit-save-review loop.

The LaTeX-free paths above — especially webpdf and online converters — routinely complete in 3 to 30 seconds, making them dramatically more pleasant for iterative work.

Output Quality Comparison

FeatureLaTeX (--to pdf)webpdfHTML + printOnline
Code highlightingYesYesYesYes
matplotlib chartsYesYesYesYes
LaTeX mathYesYes (KaTeX)Yes (KaTeX)Yes (KaTeX)
Wide pandas tablesClippedScrollableManual CSSScrollable
Unicode (CJK, emoji)Needs xelatexYesYesYes
Time per notebook90–180s20–40s60s~3s

Conclusion

You can get a pixel-perfect PDF from a Jupyter Notebook without installing a single byte of LaTeX. If you have Python, reach for nbconvert --to webpdf. If you don't, use an online converter. Either way, you'll save disk space, setup time, and the inevitable xelatex not found error.

How to Convert IPYNB to PDF Without Installing LaTeX | Конвертер IPYNB в PDF