Available now.ipynb

Repair broken IPYNB

Restore corrupt notebooks: rebuild missing nbformat fields, regenerate cell IDs, strip Git conflict markers, and fix bad metadata so Jupyter opens the file again.

Free and instant. Files are processed briefly on our servers for conversion, then discarded — nothing is stored.

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.

Notebook repair tool: fix a corrupt or unreadable.ipynb file in your browser

This notebook repair tool rescues.ipynb files that Jupyter, Colab, or VS Code refuse to open. Drop the broken file in the browser, and the repair routine puts back the missing nbformat fields, regenerates cell IDs that nbformat 4.5+ requires, restores empty metadata blocks, strips Git conflict markers, and re-emits a valid notebook you can finally launch. Repair uses secure server conversion — processed briefly and not stored afterward. No account required.

The most common breakages come from places you have probably already met: a half-written file from a crash, a notebook that lost its cells array after a manual edit, a Git merge that left <<<<<<< markers inside the JSON, a cell that lost its id, a kernel field that disappeared, or a code cell with no outputs array because someone tried to clean the file by hand. The repair function detects these patterns and quietly fixes them, while showing you a list of every change so you can audit what happened.

Compared to writing a small Python script with nbformat.read and nbformat.write, this page wins on speed: you do not need a Python environment, jupyter installed, or admin rights on the machine. Compared to opening the JSON in a text editor and guessing, this page is safer, the repair logic understands the schema, regenerates IDs without reusing them, and never silently drops cells. If the input is too far gone to parse even after stripping conflict markers, the tool reports the problem clearly instead of writing a corrupt file.

Toggle Generate stable cell IDs when working with nbformat 4.5+ (the default and recommended). Toggle Trim trailing whitespace to clean up cells edited in editors that left tab-stops behind. Toggle Drop empty cells when you want to slim the notebook at the same time as repairing it. Toggle Renumber executions when you also want a tidy execution order. The output is a normal.ipynb you can open immediately in Jupyter, JupyterLab, VS Code, Colab, or any other notebook editor.

What the notebook repair tool fixes

Restores missing nbformat metadata

Adds back nbformat, nbformat_minor, and the kernel and language metadata blocks that Jupyter expects so the file opens without the dreaded "NotebookValidationError".

Regenerates required cell IDs

From nbformat 4.5 onward every cell needs a unique id. The repair routine assigns stable IDs where they are missing or duplicated, without breaking links from existing tooling.

Strips Git conflict markers

Detects <<<<<<<, =======, >>>>>>> markers left in the file by a bad merge, removes them, and re-parses the JSON so you do not lose the rest of the notebook.

Heals broken code cells

Adds the missing outputs array, resets bogus execution_count values, and coerces unknown cell_type values back to code so the file conforms to nbformat.

Reports every change

The downloader produces a clean file, but the repair routine also tracks every fix it applied so you (or a teammate) can audit exactly what changed before you trust it.

is processed briefly on our servers and not stored

Repair uses secure server conversion — processed briefly and not stored afterward. Crashed notebooks containing private data stay on your machine, not stored after conversion, no temporary server file.

FAQ

Frequently asked questions about repairing.ipynb files

Open this notebook repair tool, upload the broken.ipynb, and download the repaired file. The repair routine restores missing metadata, regenerates required cell IDs, strips Git conflict markers, and re-emits a notebook Jupyter can open.

The most common causes are missing nbformat fields, missing or duplicate cell IDs in nbformat 4.5+, leftover Git merge markers in the JSON, or code cells without an outputs array. The repair tool handles each of these.

Yes, in many cases. The tool strips the conflict markers and tries to parse what is left. If both sides of the merge contained valid cells, you may need to manually decide which version to keep, but the file becomes loadable so you can do that work in Jupyter or VS Code.

Cell content is preserved exactly. Only the structural fields needed for a valid nbformat document are added or normalised. Outputs and metadata that already pass validation are left untouched.

No. The repair logic implements the parts of the nbformat schema that matter for loading: nbformat fields, kernel and language metadata, cell IDs, source arrays, and the code-cell outputs/execution_count rules.

No. The repair tool fixes the JSON structure of the notebook itself, not the Python inside code cells. Once the file opens in Jupyter you can edit the bad cell and re-run.

The tool reports a clear error instead of writing a corrupt file. Open the.ipynb in a text editor, look for unbalanced braces or stray characters, and try again.

No. Parsing and repair run inside your browser tab. Closing the page wipes everything, nothing remains on a server.

Not from this page. For batch work, install the tool of your choice (or write a small Python script with nbformat.read and nbformat.write) and run it across the folder.

Outputs themselves stay intact. Only the structural fields around them, missing arrays, bad execution counts, are corrected.

Yes, after you open it in Jupyter to confirm it loads. Repaired files are normal.ipynb files and stage like any other notebook change.