IPYNB to PDF Converter

Turn a Jupyter notebook into a PDF with its plots, tables, and equations. No LaTeX install, no upload, free.

Drop a Jupyter notebook (.ipynb) here, or click to choose

Converted in your browser. The notebook is never uploaded.

Or paste the notebook JSON
Preview

The notebook appears here, laid out the way it will print.

How to Use This Tool

1

Open the notebook

Drop the .ipynb file on the page or click to choose it. From Colab, use File, Download, Download .ipynb first.

2

Choose what to include

Keep or hide code cells, outputs, and In [n] labels, and pick Letter or A4.

3

Download the PDF

Click Download PDF. Word, HTML, and Markdown downloads are next to it.

What Gets Converted

In the notebookIn the PDF
Markdown cellHeadings, lists, tables, and links
LaTeX math ($...$, $$...$$)Typeset equation
Image pasted in a markdown cellEmbedded image
Code cellMonospace block, indentation kept
Printed output (stdout, stderr)Plain text block
matplotlib or seaborn plotEmbedded image
pandas DataFrameBordered table
SymPy or LaTeX outputTypeset equation
Error tracebackPlain text, terminal colors removed
Widget or interactive chartLeft out (noted in the preview)

Why Jupyter's nbconvert to PDF Fails

Jupyter does not make PDFs itself. Its PDF export hands the notebook to nbconvert, which writes a LaTeX file and compiles it with xelatex. Unless you have installed a full TeX distribution (TeX Live, MacTeX, or MiKTeX) and pandoc, the export ends with an error like xelatex not found on PATH. Even with TeX installed, an unusual character or a remote image in the notebook can stop the LaTeX build.

The other route, --to webpdf, skips LaTeX but needs nbconvert[webpdf] plus a headless Chromium download. VS Code's Export to PDF runs the same nbconvert pipeline, so it has the same requirements.

A common workaround is to export to HTML (jupyter nbconvert --to html) and print that page to PDF from the browser. It works, but page breaks can cut plots and tables in half, and wide code or DataFrames get clipped at the page edge.

This converter reads the notebook JSON directly and lays out the PDF in your browser, so none of that is needed. The trade off is that it uses its own clean layout rather than the Jupyter look, and it cannot draw interactive outputs.

How to Export a Jupyter Notebook to PDF From Colab, Kaggle, or VS Code

Each of these saves the notebook as an .ipynb file. Drop that file on this page and download the PDF.

  • Google Colab: File, Download, Download .ipynb. The notebook is saved with the outputs from your last run.
  • Kaggle: open the notebook in the editor and choose File, Download notebook.
  • VS Code, JupyterLab, Jupyter: the notebook is already a .ipynb file in your project folder. Save it first so the latest outputs are written to disk.
  • GitHub: open the notebook, click the download raw file button, and drop the file here.

IPYNB to HTML, Word, and Markdown

The same notebook can be saved in other formats from the buttons next to Download PDF. Download HTML gives one self-contained web page with the plots embedded and equations as MathML, so it opens offline and can be emailed or hosted as is. Download .docx gives a Word document with editable equations, the way the Markdown to Word converter builds them. Download .md keeps the notebook as markdown with the images inside the file.

For notes or AI answers that are already markdown, the Markdown to PDF converter makes the same kind of PDF from pasted text.

Frequently Asked Questions

How do I convert an .ipynb file to PDF?

Drop the .ipynb file on this page, or click to choose it. Check the preview, pick Letter or A4, and click Download PDF. Plots, tables, equations, code, and outputs are all in the file.

Do I need Python, Jupyter, nbconvert, or LaTeX installed?

No. The notebook is read and turned into a PDF by JavaScript in your browser. There is nothing to install, so it works on a Chromebook, a locked down work laptop, or a phone.

Why does Jupyter say "xelatex not found" when I export to PDF?

Jupyter's PDF export (jupyter nbconvert --to pdf, or File, Save and Export Notebook As, PDF) converts the notebook to LaTeX and compiles it with xelatex. That needs a TeX distribution such as TeX Live or MiKTeX, which is a download of several gigabytes, and pandoc. Without them the export stops with an error. This page does not use LaTeX at all.

How do I convert a Google Colab notebook to PDF?

In Colab, choose File, Download, Download .ipynb. Drop that file here and click Download PDF. Printing from Colab with File, Print goes through the browser print dialog, which can clip wide outputs and code, so the downloaded notebook gives a cleaner result.

How do I export a Jupyter notebook to PDF in VS Code?

VS Code's own Export to PDF (the ... menu on the notebook toolbar, then Export) runs nbconvert, so it needs Jupyter and a LaTeX install on your machine. Without them, save the notebook and drop the .ipynb file on this page instead. It converts the same file with nothing installed.

Does it work with Kaggle and VS Code notebooks?

Yes. Any notebook saved in the standard .ipynb format works, including Kaggle (File, Download notebook in the editor), VS Code, JupyterLab, Jupyter Notebook, and Colab. R and Julia notebooks work too, since the code is kept as text.

Can I hide the code and only show the results?

Yes. Untick Code cells to get a report with just the text, tables, and charts, like nbconvert --no-input. Untick Outputs for the opposite. Cells tagged remove-cell, remove-input, or remove-output are hidden the way Jupyter Book hides them.

Are plots, images, and pandas tables included?

Yes. PNG and JPEG outputs from matplotlib, seaborn, and similar libraries are embedded as images, as are images pasted into markdown cells. pandas DataFrames become real tables, LaTeX in markdown cells is typeset, and tracebacks are shown as plain text with the terminal colors removed. Interactive widgets and Plotly charts without a saved static image cannot be drawn on paper and are left out, and so are SVG outputs.

Does it run the notebook?

No. It uses the outputs saved in the file. If a cell shows no output, run the notebook in Jupyter or Colab (Run All), save it, and convert the saved file.

Can I convert .ipynb to HTML, Word, or Markdown instead?

Yes. Download HTML gives a single self-contained web page with the images and equations inside it. Download .docx gives a Word document with editable equations, and Download .md or Copy markdown gives markdown with the images embedded.

Is my notebook uploaded?

No. Notebooks often hold private data and credentials in their outputs, so this tool never sends the file anywhere. The conversion happens on your device, and there is no sign up and no watermark.

Markdown to Slack

Convert between standard Markdown and Slack mrkdwn format instantly. Supports bold, italic, links, code blocks, and more. Works in both directions.

Remove Em Dashes

Replace every em dash in ChatGPT, Claude, or Gemini output with a comma, period, colon, or hyphen. Also fixes curly quotes and invisible characters.

LinkedIn Text Formatter

Turn a ChatGPT draft or markdown into a LinkedIn post with Unicode bold and italic, clean bullets, and a preview of the "see more" fold.

Markdown to Word

Turn markdown into a real .docx with Word headings, lists, tables, and code blocks. Download the file or copy and paste straight into Word.

Markdown to PDF

Paste markdown or open an .md file and download a clean PDF with tables, code blocks, math, and clickable links. No watermark, nothing uploaded.

Markdown to Google Docs

Paste AI output or a README into Google Docs with headings, tables, and checklists intact. Copy formatted text or download a .docx for Drive.

Markdown to Rich Text and HTML

Render markdown as formatted text you can paste into any editor, CMS, or form that does not understand markdown. Copy as rich text or HTML.

Markdown to Email

Convert markdown into email-safe HTML with inline styles. Paste formatted text into Gmail, Outlook, or Apple Mail, or copy the HTML source.

Markdown to Confluence

Get markdown into Confluence with tables, code blocks, and headings preserved. Copy formatted text for Cloud, or wiki markup for Server and Data Center.

Markdown to Jira

Convert markdown to Jira wiki markup for tickets, comments, the REST API, and automation rules. Handles tables, code blocks, and nested lists.

Confluence to Markdown

Copy a Confluence page and paste it to get clean markdown with code blocks, panels, tables, and task lists. Also reads wiki markup and storage format.

Jira to Markdown

Turn Jira wiki markup or a copied Jira issue into markdown for GitHub, Notion, or an AI chat. Handles {code}, {panel}, tables, and nested lists.

ChatGPT to PDF

Save a ChatGPT answer as a PDF with typeset equations, tables, and code. Accepts the copy button or a selection and strips citation markers.

ChatGPT to Word

Export a ChatGPT answer to a .docx where LaTeX math becomes native, editable Word equations instead of raw code.

LaTeX to Word

Turn a .tex file, LaTeX equations, or a ChatGPT answer into a .docx where every equation is a native, editable Word equation.

Markdown to LaTeX

Convert markdown to a LaTeX document that compiles in Overleaf. Escapes special characters, keeps math, and turns tables into tabular.

ChatGPT Exporter

Open your ChatGPT data export, search every chat, and save the ones you pick as PDF, Word, or Markdown. Large exports stay in your browser.

Claude Exporter

Export one Claude conversation or many from your data export to PDF, Word, or Markdown, with artifacts recovered. Nothing uploaded.

HTML to Markdown

Paste formatted text from a web page, Google Docs, or Word, or paste raw HTML, and get clean GitHub Flavored Markdown back.

Word to Markdown

Convert a Word .docx file to clean markdown in your browser. Keeps headings, lists, tables, links, and code. The file is never uploaded.

PDF to Markdown

Extract a PDF into structured markdown with headings, paragraphs, and lists, ready for ChatGPT, Claude, or your notes. Runs entirely in your browser.