Remove cell outputs, reset execution counts, and strip metadata from .ipynb files. Works perfectly for Jupyter Lab and Google Colab notebooks. Your file never leaves your browser.
๐
Drop your .ipynb file here
Click to browse ยท Jupyter & Google Colab notebooks supported
// cleaning options
โNotebook cleaned successfully
0
cells processed
0
outputs removed
0%
size reduction
Batch clean multiple notebooks at once
๐
Drop multiple .ipynb files or click to browse
Multiple notebooks OK ยท All cleaned with same settings above
// common questions
How do I clean my Google Colab notebook?
In Colab, go to File โ Download โ Download .ipynb. Then upload it here. The cleaner removes all outputs and metadata the same way nbstripout does โ but in your browser, no terminal needed.
Why clean notebooks before pushing to GitHub?
Notebooks with outputs can balloon to 100MB+. They also make git diffs unreadable โ every run changes timestamps and execution counts. Cleaning means git only tracks your actual code changes.
Is this the same as nbstripout or jupyter nbconvert --clear-output?
Exactly the same result. Both strip outputs and reset counters. This tool just does it in your browser so you don't need Python or a terminal.
Does my notebook get uploaded anywhere?
No. The file is read using the browser's FileReader API and processed entirely in JavaScript memory. Nothing is sent to any server. You can disconnect from the internet and it still works.
What is Muffin's Notebook Cleaner?
Muffin's Notebook Cleaner is a free, browser-based tool that strips outputs, resets execution counts, and removes metadata from Jupyter and Google Colab .ipynb notebook files. It does exactly what nbstripout and jupyter nbconvert --clear-output do โ but entirely in your browser, with no Python, no terminal, and no installation required. Your notebook never leaves your device.
Why clean your notebook before pushing to GitHub?
Jupyter and Colab notebooks store not just your code but also every output โ printed text, generated images, dataframes, error messages, and execution counts. This causes three major problems when pushing to GitHub:
๐ฆ File size
A notebook with outputs can be 50โ200MB. The same notebook without outputs is typically under 1MB. GitHub has a 100MB file size limit and warns at 50MB.
๐ Messy diffs
Every time you run a cell, the execution count and output change. Git sees these as changes even if your code didn't change, making pull requests and code reviews unreadable.
๐ Privacy risk
Outputs can accidentally contain API keys printed during debugging, file paths that reveal your system structure, or sensitive data from a dataframe you forgot to hide.
Common GitHub & nbviewer errors this tool fixes
Error: the 'state' key is missing from 'metadata.widgets'
Cause: Your notebook has a broken metadata.widgets section โ common when tqdm progress bars or ipywidgets are used in Colab. Fix: Check "Remove widget state" before cleaning.
Error: file size exceeds GitHub's 100MB limit
Cause: Your notebook has large outputs โ images, base64-encoded plots, or long dataframe previews stored inside the file. Fix: Check "Remove cell outputs" โ this alone typically reduces file size by 80โ99%.
GitHub shows "Invalid Notebook" or notebook won't render
Cause: Colab adds its own metadata fields that GitHub's notebook renderer doesn't understand. Fix: Check "Strip notebook metadata" to remove Colab-specific fields.
Every commit shows hundreds of changed lines even with no code changes
Cause: Execution counts like In[1], In[2] change every time you run the notebook. Git tracks these as changes. Fix: Check "Reset execution counts" to set all counters to null.
How to clean your Google Colab notebook
In Google Colab, go to File โ Download โ Download .ipynb. This saves your notebook as a .ipynb file to your computer. Drop that file here, select your cleaning options, and click Clean Notebook. Download the cleaned file and push it to GitHub. The entire process takes under 30 seconds and requires no Python or terminal.
Batch clean multiple notebooks at once
Use the Batch Clean tab to clean an entire folder of notebooks at once. Drop multiple .ipynb files, and all of them are cleaned with the same settings in one go. Each notebook gets its own download link showing exactly how many outputs were removed and how much smaller the file got. Useful before pushing a full semester of experiment notebooks to GitHub.
Your notebook never leaves your browser
Research notebooks often contain unpublished results, proprietary model architectures, sensitive API keys accidentally printed during debugging, or confidential dataset previews. Muffin reads your notebook using the browser's FileReader API and processes it entirely in JavaScript memory. Nothing is sent to any server. You can disconnect from the internet after the page loads and it will still work perfectly.