Skip to content
๐Ÿงน

Jupyter Cleaner

Developer

Remove all outputs, execution counts, and metadata from Jupyter .ipynb files. Keep only source code and markdown cells for cleaner diffs and easier version control.

0
0

Jupyter Cleaner

A notebook's code can stay completely unchanged between two commits and still produce an enormous, unreadable diff, because every time a cell runs, its execution count increments and its output, sometimes a large embedded plot image encoded as a long base64 string, gets rewritten even when nothing about the actual logic changed at all. This tool strips every output, execution count, and piece of metadata out of a Jupyter notebook, keeping only the source code and markdown cells that actually reflect real changes.

See more about the Jupyter Cleaner

Useful for cleaning a notebook before committing it so diffs reflect genuine code changes instead of output noise, stripping large embedded plot images out of a notebook before it goes into version control, or removing execution counts that increment on every run and clutter a diff with nothing meaningful in it.

Key features

  • Clean interface
  • Fast processing
  • No signup required
  • Works offline

Quick answers for Jupyter Cleaner

What exactly gets stripped from the notebook?
Every code cell's outputs array is emptied, its execution_count is reset to null, and cell-level metadata like collapsed and scrolled flags are removed, while source code and markdown cells are left untouched.
Does it keep any notebook-level metadata?
Yes, it preserves the kernelspec and a trimmed language_info (just the name and version), since those are usually needed to reopen the notebook correctly, and discards everything else.
Can I upload a file instead of pasting JSON?
Yes, an upload field accepts a .ipynb file directly and loads its contents into the editor, or you can paste the notebook JSON by hand.