Super Fusion: A PDF Merging Tool on steroids
A big part of my week is assembling PDF submittals: a cover sheet, index pages, a stack of datasheets, test reports, design documents, warranties, in a specific order, all meant to be navigable (usually) by bookmarks. Every merge tool I tried either flattened the bookmarks into a useless list or made reordering a chore. So I built my own. It's called Super Fusion, it runs on Windows, and it's on GitHub.
The problem no PDF merger solved for me
If you've never had to hand a consultant a 200-page technical submittal, this won't sound like a real problem. If you have, you already know exactly where this is going.
A submittal isn't one document, it's a package with structure. Cover letter up front, TOC, indices, then the fixtures, and under each fixture its own little bundle: the datasheets, instruction manuals, the photometric or test report. The person reviewing it doesn't scroll; they navigate by the bookmark tree in the sidebar. If that tree is right, they find the warranty for fixture L-07 in two clicks. If it's wrong, they email you asking where it is.
The tools I could find fell into two camps. The cheap-and-quick ones merged fine but dumped every source file's bookmarks into one flat list, no nesting, so the structure that makes a submittal usable just evaporated. The heavyweight ones could nest bookmarks, but building the order meant fighting a clumsy dialog for twenty minutes, and there was no way to save the arrangement, so the next revision started from zero.
Nested bookmarks. Not "bookmarks", nested ones. A submittal's whole legibility lives in the hierarchy: Section Index >> Fixture >> the documents under it. Flatten that and you may as well not bookmark at all.
What it does
The idea is simple: put every PDF in a list, arrange it exactly how you want the final document, and let the arrangement be the bookmark structure. What you see in the list is what you get in the output.
- Drag PDFs straight in from File Explorer, no file-picker dance (though that is available, if that's your tango).
- Reorder by dragging rows, or nudging them with arrow buttons.
- Nest rows by indenting them, and that indentation becomes the nested bookmark hierarchy in the merged file.
- Toggle a bookmark per row with a checkbox, and double-click to rename it, so the bookmark reads "Fixture L-07 - Warranty," not "scan_0043_final_v2.pdf."
- Save the whole arrangement as a .sfusion project file and reopen it later, which is the part that actually saves time on revisions.
- Keyboard shortcuts to make you even faster!
How I actually use it
Since this is a part of an internal submittal tool, I start by creating the cover, TOC, index pages, and technical documents stamped into a branded template. This whole process is automated through the internal submittal tool. Then, I drag in everything at once into Super Fusion, rearrange them into submittal order, indent the rows to create the nested hierarchy structure, tick the bookmarks where I wanted, rename the bookmarks where I wanted. Export, and I've got one clean navigable PDF in 5% of the time it takes without Super Fusion.
Then I save it as a .sfusion file. When the consultant comes back wanting one fixture swapped or one document added, they always do (though arguably doesn't always add value), the next revision is a two-minute edit instead of rebuilding the whole thing. That single habit has probably paid back the time I spent writing the tool several times over.
Under the hood
It's Python, with CustomTkinter for the interface and PyMuPDF doing the actual PDF surgery. Nothing exotic. The interesting work was all in the drag-and-nest interaction and getting the bookmark tree to write out correctly.
The one bug worth a war story: bookmarks with unusual unicode characters in their titles rendered as garbage in some PDF viewers. Datasheets are full of degree signs, ohms, micro-symbols, and the occasional character that came in through a bad OCR pass, and a few of them broke the outline. So the tool normalizes those characters when it writes bookmark metadata, which quietly fixed a class of "why does this bookmark look broken" problems I'd been ignoring for months.
It's MIT-licensed and the code's all on GitHub. Take it, fork it, tear it apart.
Getting it
Two ways in. The easy one: download SuperFusion.exe from the Releases page and run it. No install.
The .exe isn't code-signed. Signing certificates cost more than a free side project justifies, so Windows SmartScreen will throw a scary "unrecognized app" warning the first time. Click More info >> Run anyway. If you'd rather not trust a stranger's binary, run it from source instead; the code's right there to read.
The from-source way needs Python 3.10+:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py
And if you want your own standalone build, build.bat packages it into an .exe with PyInstaller.
Keyboard shortcuts
The whole point is speed, so most of it is reachable without the mouse:
| Shortcut | Does |
|---|---|
| Ctrl+O | Open a saved project |
| Ctrl+S / Ctrl+Shift+S | Save / Save As |
| Ctrl+Space | Toggle the bookmark on the selected row |
| Ctrl+Tab / Ctrl+Shift+Tab | Indent / outdent (nest / un-nest) |
| F2 | Rename a bookmark |
| Delete | Remove the selected rows |
| Space | Collapse / Uncollapse the selected row (if a nested one) |
Why build it at all
Honestly, for the same reason I've spent years building Excel, VBA tools, and Python scripts for the teams I've worked on: the fastest way to stop losing an hour a week to a fiddly manual task is to spend a weekend killing it. Super Fusion is the first of those frustrations that grew up into a standalone app - my ongoing excuse to push my tooling into real Python.
It's Windows-only for now and it does exactly one thing, which is the point. If it saves you the same hour it saves me, that's a good trade. Bug reports and pull requests are welcome; so is just quietly using it.