Skip to main content
Conversion Module

Clear Jupyter Notebook Output Online (.ipynb Cleaner)

Strip saved outputs and execution counts from a Jupyter .ipynb — clean notebooks for git and smaller files, in your browser.

Why use this tool?

Use the Output Cleaner to strip saved outputs and execution counts from a notebook before you commit it. You get a clean .ipynb with readable git diffs and a much smaller file — no Python, no nbstripout install, nothing uploaded.

Advertisement
Runs in your browser — nothing uploaded
Notebook (.ipynb JSON) — paste or drop
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": { "execution": { "iopub.status.busy": "2026-08-10T10:00:00Z" } },
   "outputs": [
    { "name": "stdout", "output_type": "stream", "text": ["rows: 1000\n"] },
    { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAA... (48 KB of base64) ..." }, "metadata": {} }
   ],
   "source": ["import pandas as pd\n", "df = pd.read_csv('data.csv')\n", "print('rows:', len(df))\n", "df.plot.bar()"]
  }
 ],
 "metadata": { "kernelspec": { "name": "python3" }, "language_info": { "name": "python" } },
 "nbformat": 4,
 "nbformat_minor": 5
}
Cleaned notebook
# Your cleaned .ipynb will appear here…

About Jupyter Notebook Output Cleaner

The Notebook Output Cleaner removes the saved outputs and execution counts from a Jupyter .ipynb file, giving you a clean version that's ideal for version control. Outputs — printed text, tables, and especially embedded images and charts — are stored inside the notebook JSON as large base64 blobs, so committing a notebook with its outputs produces enormous, noisy git diffs and bloats your repository. Clearing them first keeps history readable and files small.

It does the same job as the command-line nbstripout tool, but in your browser with nothing to install. Paste or drop your .ipynb, and it sets every code cell's outputs to empty and its execution_count to null, then hands back a cleaned notebook you can copy or download. Optionally it also removes run-state metadata (cell timing, collapsed/scrolled flags) and interactive widget state, which are the other common sources of noisy diffs.

Crucially, the cleaner never touches your code: markdown cells and the source of every code cell are preserved exactly. It only removes the generated results, which you regenerate simply by re-running the notebook. The output is a valid .ipynb that opens normally in Jupyter, JupyterLab, VS Code, or Colab.

Everything runs locally in your browser — the notebook is parsed and cleaned client-side and never uploaded, so even proprietary or sensitive notebooks stay on your machine. If you want to read a notebook rather than clean it, use the companion Notebook Viewer; to extract the code as a .py script, use the Jupyter-to-Script converter.

Frequently Asked Questions

Paste or drop your .ipynb into this cleaner. It sets every code cell's outputs to empty and execution_count to null, and returns a cleaned notebook you can copy or download. It's the same result as Jupyter's 'Clear All Outputs' or the nbstripout tool, but online with nothing to install.