Guide
Convert a Jupyter Notebook to PDF
Choose between a local browser print workflow and nbconvert when exporting a saved Jupyter Notebook to PDF.
Use the workflow that matches the requirement
For a private PDF of the content already saved in a notebook, use the local converter on this site and choose Print / Save as PDF in the browser dialog. It does not run Python, load local data, or upload the notebook.
Use nbconvert when a project needs a repeatable local build command, templates, or an automated export process. It is a development dependency chain rather than a simple file conversion, so verify it with a representative notebook before relying on it for a deadline.
Prepare the notebook before exporting
Run the cells whose results should appear, then save the `.ipynb` file. A PDF exporter can render only the output present in the saved notebook; it cannot recreate charts, tables, or values that were never saved.
Check long code lines, wide tables, and interactive output before export. For a reader-focused document, Report mode hides code inputs while preserving saved Markdown and output. Full Notebook mode keeps the source and output together.
Use nbconvert when you need a local pipeline
The documented command form is `jupyter nbconvert --to FORMAT notebook.ipynb`. The PDF exporter uses LaTeX, while the WebPDF exporter first renders HTML and then uses headless Chromium.
Choose the route based on installed dependencies and required fidelity, not on a promise that one exporter works everywhere. nbconvert documents separate requirements for Pandoc, XeLaTeX, and the Playwright Chromium dependency used by WebPDF.
Check the generated PDF
Open the result before sharing it. Confirm the title, page breaks, images, code wrapping, tables, and error output. Use landscape or a browser-print layout adjustment when the preview shows wide material.
Interactive widgets and JavaScript-dependent charts are not interactive PDF content. Save a static figure or table in the notebook when the visual result matters.
Last reviewed against official documentation: 2026-08-09. Source: Jupyter nbconvert command-line documentation