Available now.ipynb

Merge IPYNB files one .ipynb

Queue multiple notebooks, reorder sections, and download one merged .ipynb, great for combining labs or guest lectures.

How it works

Stack notebooks in the order you choose

1

Queue at least two .ipynb files

Reorder rows so setup, analysis, and discussion read top to bottom.

2

Headers, outputs, counts

Optional section titles per source file. Strip outputs if the combined file would be too large for Git.

3

Save merged-notebooks.ipynb

The merge runs for this request. We do not keep the queue afterward.

Merge Jupyter notebooks online, combine ipynb files into one.ipynb in your browser

When labs, exercises, and solutions live in separate notebooks, this tool stacks them in the order you choose and downloads one valid nbformat file. Queue weekly labs or chapter notebooks, reorder rows so graders see setup, then analysis, then discussion, then download merged-notebooks.ipynb — without installing nbconvert or a Python environment on the machine in front of you.

People split lecture notes, exercises, and solutions across files. Cell order is the whole point: move files up or down before merging so graders see setup, then analysis, then discussion in one scroll. Optional Markdown section headers per source file show reviewers where each notebook began — especially helpful when combining a semester of labs or stitching co-author chapters.

Pro-style options keep the merge tidy for Git and LMS uploads: preserve cell outputs when you need plots in the combined file, or strip them for a lighter bundle; clear execution counts for a blank slate; or renumber In [ ] counts sequentially so the narrative reads 1…n. Kernel metadata follows the first file in the queue so JupyterLab and VS Code still open the merged notebook with the expected kernelspec. Preview the combined cells before you commit.

Files are processed for this request only and are not stored afterward. Pair with the output cleaner when the combined file is still too heavy for a public PR, or with the splitter when you later need to carve lessons back apart. No account required for the standard merge path.

How to merge ipynb files online on this page

Step 01

Add the notebooks you want to merge

Drop multiple .ipynb files to combine labs, lectures, or drafts into one notebook. Files are processed for this request only.

Free IPYNB merger online: drop multiple Jupyter notebooks to combine them into one .ipynb in your browser

Step 02

Reorder the merge queue

Arrange file order so the story flows correctly — move notebooks up or down before you build the combined .ipynb.

Merge queue for combining Jupyter notebooks — reorder .ipynb files before downloading one merged notebook

Step 03

Download and preview the merged notebook

Export one valid nbformat .ipynb, then preview cells to confirm Markdown, code, and outputs landed in the right sequence.

Download merged .ipynb and preview cells after combining multiple notebooks with the IPYNB merger tool

Why merge Jupyter notebooks here instead of scripting locally

Merge jupyter notebooks online, order you control

Queue multiple .ipynb files, reorder with one click, then combine jupyter notebooks into a single download. Matches merge jupyter notebooks online and join jupyter notebooks online workflows without leaving the browser.

Combine ipynb files online with labeled sections

Optional Markdown heading per source file so combine ipynb files online stays readable when collaborators open the merged notebook cold.

Execution hygiene after merge

Pro controls: preserve outputs or drop them for a lighter file; clear In [n] counts; or renumber execution counts sequentially, ideal after merge ipynb files when you want a story that reads 1…n top to bottom.

Kernel metadata from the first notebook

nbformat metadata follows your first file so ipynb merge results still match your Python or R kernel expectations in JupyterLab.

Privacy-first merge ipynb path

Merge is processed for this request only and is not stored afterward.

Pretty-printed export

Download merge ipynb results as readable indented JSON when pretty-print is enabled, easy to diff or archive.

FAQ

Frequently asked questions

Open this page, add at least two .ipynb files, confirm order, and download merged-notebooks.ipynb. That is merge jupyter notebooks online here, no account and no pip install for the merge itself.

Use this browser workflow: files are parsed locally and concatenated in order. You do not need Jupyter running, only a modern browser for combine ipynb files online.

Yes, leave Preserve outputs enabled. Turn it off if you only want sources like a stripped merge ipynb export.

Same as merge ipynb: all cells from each file are appended in queue order, optionally preceded by a Markdown section title per file.

Outputs stored in each notebook, including embedded plot images, are preserved when Preserve outputs is on; clearing outputs removes them from the exported file.

They can. Use Clear execution counts for a blank slate, or Renumber execution counts for sequential In [1], In [2]… after combine jupyter notebooks.

Metadata from the first notebook in your queue is used so the merged file opens with that kernelspec in Jupyter.

No durable archive: merge uses secure server conversion as described in our Privacy Policy — processed briefly and discarded.

Yes. Add as many valid .ipynb files as you need, set the queue order, and download one merged notebook. Practical limits follow browser memory for very large output-heavy files.

Reorder the queue before merging. Cells are appended in that file order, optionally preceded by a Markdown heading naming each source notebook.

Either works. Strip first for a lighter merge, or merge with outputs preserved and clean afterward with the IPYNB output cleaner if the combined file is too large for Git.

Standard cell outputs and attachments present in each source notebook are carried when Preserve outputs is on. Live kernel widgets will not run until you open the merged file in Jupyter.

A grading workflow that actually holds together

Put setup first, then each student’s analysis, then a discussion section. Optional Markdown headers per source file are there so you can see where one notebook ended and the next began. Without those headers, a 400-cell merge is painful to audit.

Kernel metadata comes from the first file in the queue. If student B used a different kernelspec, Jupyter may still open the merge, but magics and packages may not match. Align environments before you merge, or note the mismatch in the first Markdown cell.

When not to merge

Do not merge if the only goal is “one ZIP of many notebooks.” Use a normal zip tool and keep files separate. Merge when the reader should scroll one story.

If the combined file will go to a public repository, strip outputs after the merge. Plots from five labs in one file is how pull requests get rejected.