Convert IPYNB to HTML in Your Browser

Convert a Jupyter Notebook (.ipynb) to one self-contained HTML file with highlighted code, charts, and math intact. No Python, no nbconvert, no install, and no upload: your notebook never leaves your device.

Tap to select a file

Files are processed on your device only.

How it works

  1. Drop or select your .ipynb file. It is parsed on your device only.
  2. Pick a light or dark code theme and a base font size.
  3. Click Download .html to save the single, self-contained file.

What is inside the HTML file

The output is a single document with nothing linked from outside it. Code highlighting is written as inline styles rather than a stylesheet, images saved in the notebook are embedded as data URIs, and the math styling is bundled in only when the notebook actually contains formulas. That means the file works from a USB stick, from an email attachment, or from a folder with no network at all.

Because there is no JavaScript in the output, nothing in the file can phone home or break later when a CDN changes. The same document is what the IPYNB to PDF converter sends to the print dialog, so the two outputs stay visually consistent. See how browser-side rendering works for the full pipeline.

When HTML beats PDF, and when it does not

HTML reflows. On a phone, in a docs site, or inside a pull request preview, a notebook exported to HTML stays readable at any width, while a PDF keeps the page geometry it was printed with. HTML is also the format to pick when you want to restyle the result, paste a section into a wiki, or let a reader copy a code block cleanly.

Pick PDF instead when the destination is a submission portal, a printer, or an archive that expects fixed pagination. The classic nbconvert --to html command produces a comparable file, but it needs a Python environment installed first; this page needs a browser. For a paginated result, use IPYNB to PDF, and for the reverse direction there is PDF to HTML.

Frequently asked questions

Does it run my notebook, and what happens to cells I never executed?
It does not run anything. There is no kernel and no Python here, so the HTML shows the outputs already saved inside the .ipynb file. Cells you never executed appear with their code but no results, so run and save the notebook first if a chart or table is missing.
Is the HTML file self-contained, and does it need the internet to open?
It is one file with no external CSS, no JavaScript, and no linked assets. Styles are inlined, images from the notebook are embedded as data URIs, and math styling ships inside the file. You can open it offline, email it, or drop it straight into a static site.
Do math formulas, mermaid diagrams, and colored tracebacks survive?
Yes. KaTeX math is rendered into the file, mermaid code blocks are drawn as diagrams, and ANSI colors in stdout, stderr, and exception tracebacks are converted to colored text. Interactive widgets such as ipywidgets or Plotly controls do not survive, because there is no JavaScript in the output.
Is my notebook uploaded anywhere?
No. The .ipynb is parsed in a Web Worker on your own device and the HTML is assembled there too. There is no upload endpoint to send it to, no account, and the tool keeps working with the network disconnected.

Related tools

Related guides