IPYNB to PDF
Open a .ipynb file up to 20 MB and every cell appears on a printable page in file order, labelled the way Jupyter labels it (In [3], Out [3]), with the outputs the notebook saved. Nothing is executed and nothing is uploaded: stored HTML is stripped of scripts, frames and event handlers before it is drawn, images the notebook links to are named with their address instead of fetched, and widgets, JavaScript and any output over 5 MB are listed with the reason rather than silently dropped. Choose whether code, outputs and metadata print, pick A4 or Letter in either orientation, then save the page as a PDF or as one HTML file that loads and runs nothing.
Drop a Jupyter notebook here
An .ipynb file up to 20 MB, or
Save as PDF opens the print dialog with only the notebook on the page: choose Save as PDF as the destination. The suggested file name is the notebook's own.
Download HTML saves the same print view as one file that loads and runs nothing when it is opened. Only these settings are remembered in this browser, never the notebook.
Try a sample
Four notebooks written for this page. Each goes through the same reader as a file of your own.
- same order: heading, In [1], 3, a table and a chart
- stripped before drawing; nothing runs or loads
- parse error named with its line and column
- listed with its size, not drawn
Common questions
- How do I convert an IPYNB file to PDF?
- Choose or drop the .ipynb file above. The print view shows the cells and their saved outputs in file order; press Save as PDF and pick Save as PDF as the destination in the print dialog. The suggested file name is the notebook's own, and Download HTML saves the same view as one web page instead.
- Does this run the code in my notebook?
- No. It prints the outputs already saved in the file, so a cell that was never run, or whose output was cleared, shows its code with nothing under it. If you need fresh results, run the notebook in Jupyter, save it, then open it here.
- Why is an output missing from my PDF?
- Every output the page does not draw is listed under Named, not drawn, with the reason: widget views (they need a running kernel), JavaScript outputs (stored code is never run), types it cannot draw such as interactive chart data, and any single output over 5 MB or image over 40 megapixels. An interactive chart that also saved a static image prints that image instead.
- Are images from the internet included?
- No. An image the notebook points to, on the web or in a file beside the notebook, is replaced by its description and address and is never requested. Images stored inside the notebook, including images pasted into Markdown cells as attachments, are drawn.
- Can I print only the results, without the code?
- Yes. Turn Code off under Include and each cell keeps its label, such as In [4], and its outputs without the source. Outputs and metadata switch on and off the same way, and the choice is remembered in this browser.
- How are equations and Markdown shown?
- Markdown cells are formatted with their headings, lists, tables, links and images. Math is printed as its LaTeX source, for example $E = mc^2$, rather than typeset, and Mermaid diagrams print as their source text.
- Is my notebook uploaded or saved anywhere?
- No. The file is read in this browser tab and never sent anywhere. Only the settings (which parts to include, paper size and orientation) are remembered in this browser; the notebook itself is not stored.
- What if the file will not open?
- The page says why. A file cut off while saving is reported with the line and column where it ends, a file over 20 MB with its size, and JSON that is not a notebook as exactly that. Save the notebook again in Jupyter, or clear its largest outputs, and choose the new copy.
Prints only what the notebook already stores, in file order: no code is run, so an output that was never saved cannot appear. Scripts, frames and event handlers in stored HTML are removed, and external images are named with their address but never fetched. Widget views, JavaScript outputs and any output over 5 MB or 40 megapixels are listed instead of drawn.