Compare Jupyter Notebooks Online
Drop in two .ipynb files and see what changed, cell by cell — code, notes, and results. The bookkeeping a plain JSON diff buries you in is left out. We never see your data: it all runs in your browser.
A Jupyter notebook diff that reads like a notebook — not the .ipynb diff of raw JSON you get from git diff.
Drop, upload, or paste two .ipynb files. Everything runs in your browser.
How it works
No upload, no sign-up.
Cells are matched up by their content
Edit a cell and it shows as changed, not as one cell deleted and another added. Run counts, cell IDs and other bookkeeping are ignored, so they never show up as fake differences.
Read both versions side by side
Each cell appears twice, old on the left and new on the right, with changed lines in red and green. The strip down the side marks every cell that changed, and you can hide the cells that didn’t.
What it compares — and ignores
Compared
- • What you wrote in code and markdown cells
- • Text results, including errors
- • Cells added, removed, changed, or moved
- • A change of kernel or language
Ignored
- • How many times a cell was run
- • Cell IDs
- • Behind-the-scenes notebook settings
- • Images and HTML results are marked as changed, but not drawn
When a notebook-aware diff helps
- • Review a Colab, Kaggle, or JupyterLab experiment before sharing it
- • Separate code edits from changed outputs after rerunning a notebook
- • Check student or teammate changes without installing nbdime
- • Compare two downloaded notebook versions outside a Git repository
FAQ
How do I compare two Jupyter notebooks online?
Open, drop, or paste the two .ipynb files into the page. The cell-by-cell comparison appears automatically, with changed code, markdown, and text output shown side by side.
Are my .ipynb files uploaded?
No. The notebooks are parsed and compared locally inside your browser. We never see your data.
Why not compare notebooks as plain JSON?
A plain JSON diff is dominated by execution counts, cell IDs, and metadata. A notebook-aware diff matches cells by content and focuses on code, markdown, and meaningful output changes.
Working with plain JSON instead? Open the JSON viewer. Need a plain JSON diff? Use JSON Diff.