Mergist is an online tool to combine multiple PDF files into one. Mergist has no ads, no file size limits, and your files never leave your device.
Mergist is a free online tool that lets you combine multiple PDF files into a single document instantly with no ads, no file size limits, and no uploads to external servers. The merging process runs locally on your device, so the merging process is fast, plus your files never leave your computer!
- π Unlimited PDF merging: Drag and drop or click to select multiple PDFs and merge them into one file
- No limits on the amount of files that can be added
- No limits on file sizes
βοΈ Document reordering: Click and drag to reorder documents- π Privacy-focused: All work happens in your browser, keeping your documents private and the process fast
- ποΈ Customizable: Switch between light and dark themes and toggle animations to suit your preferences
- π 100% Free & Ad-Free: Use the tool without distractions, privacy-invasive tracking, or paywalls β no ads, no sign-ups, no limitations
- π¨π»βπ» Open-source: Know how to code? Help make Mergist better by contributing to the project on GitHub, or copy it and make your own version!
- π Students: Combine lecture notes, assignments, and references into one PDF for submission
- πΌ Professionals: Merge reports, contracts, and forms before sharing with clients or colleagues
- π Administrators: Assemble documentation packets or archives quickly without software installs
- βοΈ Everyday users: Join scanned pages or downloaded PDFs for personal organization
- π§ͺ Developers & testers: Quickly merge sample files when preparing demos, specs, or docs
| π Dark | π Light | |
|---|---|---|
| Homepage | ||
| Adding files | ||
| Merge complete | ||
| Options |
Here is an overview of how the app works:
- When you select files to merge, they are read into memory and added to the reorderable list in the file manager
- Clicking the
Merge Filesbutton triggers the merge process:- We use the PDF-LIB library to create a new PDF document and append the pages from the input PDFs to it
- The resulting byte array is then converted to an object URL
- The
hrefof the download link is set to the object URL so that you can download the merged PDF
Note
These instructions are for self-hosting Mergist on your own server or developing locally. If you just want to use the web app, you can visit it at mergist.johng.io.
-
Clone the repository
git clone https://github.com/twocaretcat/Mergist.git cd Mergist -
Install dependencies
bun install
-
Build & Serve
bun run develop # Start the dev server, or bun run build && bun run serve # Build for production & preview the build
You can add files to the queue by dragging and dropping them onto the page, or by clicking the dropzone to select files from your file system.
| Dropzone used to add files |
When you add files, the dropzone will be replaced with a file manager, but you can still drag and drop files onto the page to add more. Additionally, an Add File button will appear that you can click to select more files from your file system.
The file manager shows the files that have been added to the queue.
| File manager |
The header of the file manager shows the total number of files and the total size of the files. You can use the Add File and Remove All buttons to add more files or remove all files from the queue, respectively.
You can also view the size of each file in the queue, and remove individual files by clicking the Remove button on the right side of each file.
Files will be combined in the order they are shown in the list. The handles on the left side of each file in the queue can be dragged to reorder them.
You can merge the files in the queue by clicking the Merge button. During the merge, the button will update to show the progress of the operation. When complete, the merge button will be replaced with a Download button that you can click to download the merged file.
| Merge button | Progress button | Download button |
The footer of the page contains a link to the project's source code and buttons to interact with the app further.
| Page footer |
Clicking the Options button will open a modal that can be used to change settings for the app like the theme and whether animations are enabled.
| Page footer |
The Privacy and About buttons open modals to view the privacy policy and information about the site, respectively.
Need help? See the support resources for information on how to:
- request features
- report bugs
- ask questions
- report security vulnerabilities
Want to help out? Pull requests are welcome for:
- feature implementations
- bug fixes
- translations
- documentation
- tests
See the contribution guide for more details.
Copyright Β© 2025 John Goodliff (@twocaretcat).
This project is licensed under the AGPL-3.0 License. See the license for more details.
This project includes various resources which carry their own copyright notices and license terms. See LICENSE-THIRD-PARTY.md for more details.
Other projects you might like:
- π€ Tally: Your favorite dark mode word counter, now with even more themes! Count the number of characters, words, sentences, paragraphs, and lines in your text instantly with Tally
- π€ Shared File Finder for Google Drive: An Apps Script that finds all files/folders on Google Drive that are shared with others and adds them to a Google Sheet
Find this project useful? Sponsoring me will help me cover costs and commit more time to open-source.
If you can't donate but still want to contribute, don't worry. There are many other ways to help out, like:
- π’ reporting (submitting feature requests & bug reports)
- π¨βπ» coding (implementing features & fixing bugs)
- π writing (documenting & translating)
- π¬ spreading the word
- β starring the project
I appreciate the support!