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, instant, and 100% private — your notebook never leaves the browser.

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.

Also available

Try our other free tools

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. The whole repair runs locally—no upload, no account—so even sensitive teaching, research, or client notebooks stay on your machine.

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.

Never leaves your browser

Repair happens client-side. Crashed notebooks containing private data stay on your machine—no upload, no temporary server file.

How to repair a broken Jupyter notebook online

  1. 01

    Upload the broken .ipynb

    Drop the file Jupyter, Colab, or VS Code will not open. Even partially-corrupted JSON works—the parser tries hard to recover before giving up.

  2. 02

    Choose your repair strategy

    Keep the safe defaults or enable extras like Drop empty cells and Renumber executions when you want a deeper clean.

  3. 03

    Download the repaired notebook

    Save the new .ipynb to disk and open it in Jupyter, JupyterLab, VS Code, or Colab. It loads cleanly with valid metadata and stable cell IDs.

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.