Available now.ipynb

Compress IPYNB

Shrink your notebook for Git or email: strip heavy outputs, drop transient widget state, trim whitespace, and minify the JSON without breaking anything.

Free, instant, and 100% private — your notebook never leaves the browser.

How it works

Three steps from upload to download

1

Drop your notebook

Drag a .ipynb onto the card or browse your files. You never create an account.

2

Choose the export

Select Word, PDF, Markdown, HTML, LaTeX, ZIP, Python tools, viewer, cleaner, merger, or splitter—whatever matches your reviewer.

3

Download and ship

Grab the finished file immediately. Open it locally, attach it to email, or upload it to your LMS.

Also available

Try our other free tools

Notebook compressor: shrink a Jupyter notebook so Git, email, and reviewers stop complaining

This notebook compressor shrinks bloated .ipynb files in the browser. Drop the file, choose how aggressive you want to be, and download a smaller notebook ready for Git, email, or your code reviewer. By default it strips heavy outputs (especially base64 image plots), clears `In [n]` execution counts, drops transient widget metadata, trims trailing whitespace, and minifies the JSON—steps that often cut the file size by an order of magnitude without touching a single line of your actual code or markdown.

Why does it matter? Because notebooks balloon for boring reasons. A single matplotlib plot embedded as base64 PNG can add 1–2 MB to the file. Bokeh, Plotly, and ipywidgets store their state in `metadata.widgets`, which can dwarf the cells themselves. Git diffs become unreadable. Pull requests bloat. Email attachments hit limits. The compressor removes all of those without changing the meaning of the notebook.

Compared to running `jupyter nbconvert --ClearOutputPreprocessor.enabled=True` or installing nbstripout, this page wins when you do not want to set up tooling, when the file is on a Chromebook, or when you want a quick one-off cleanup before sharing. It also goes further than nbstripout: it can drop transient widget state, replace huge image outputs with text placeholders, trim whitespace, and minify the JSON. nbstripout remains the right answer for an automated pre-commit hook; this tool is the right answer for a single notebook on someone else's machine.

Worried about losing data? The defaults are safe: outputs are removed but every cell of source stays exactly as you wrote it, every markdown cell stays in place, and the kernel + language metadata stays valid. Loosen or tighten the toggles to match the situation—keep image outputs but trim whitespace, or strip everything for the smallest possible file.

How this notebook compressor cuts file size

Strips heavy outputs

Removes every code-cell output by default. Optionally keep text outputs but replace embedded image data with a small placeholder—the typical fastest way to shrink a notebook with many plots.

Drops transient widget state

Detects and removes `metadata.widgets` and similar transient blocks that ipywidgets, Bokeh, and Plotly leave behind. They serve no purpose once the notebook is shared.

Clears execution counts

Resets `In [n]` markers so a re-run does not produce a noisy diff—exactly the cleanup nbstripout performs as a pre-commit hook.

Trims whitespace and blank lines

Cuts trailing tabs, trailing spaces, and runs of blank lines without touching meaningful indentation. Smaller files, identical behaviour.

Minifies the .ipynb JSON

Removes pretty-print whitespace from the JSON so the bytes-on-disk drop further. The notebook still opens cleanly in Jupyter, JupyterLab, VS Code, and Colab.

Stays in your browser

Compression runs locally in the page. Sensitive notebooks never travel to a server, which matters for client work and internal research.

How to shrink a Jupyter notebook in your browser

  1. 01

    Upload your .ipynb

    Drop the bloated notebook in. The parser reads it client-side and shows you the cell counts so you know what you are working with.

  2. 02

    Pick how aggressive you want to be

    Defaults are safe (strip outputs, clear execution counts, drop transient metadata, minify). Layer on extras like Replace image outputs or Drop empty markdown when you need a smaller file.

  3. 03

    Download the smaller notebook

    Save the new .ipynb to disk. Run it through `du -h` (or the Properties dialog) and you should see a noticeable drop—often 10× smaller for notebooks heavy on plots.

Frequently asked questions about compressing .ipynb files

Open this notebook compressor, upload the .ipynb, and download the smaller version. The defaults remove outputs, execution counts, transient widget state, and pretty-print whitespace—usually enough to cut the file size dramatically.