Skip to content
Muhammad Uzair edited this page Apr 4, 2026 · 3 revisions

Libre Merger


Table of Contents

  1. Overview
  2. How It Works
  3. System Requirements
  4. Installation
  5. Using Libre Merger
  6. Supported Formats
  7. Configuration
  8. Troubleshooting
  9. Security & Privacy
  10. Contributing
  11. Roadmap
  12. FAQ
  13. License

1. Overview

Libre Merger is a free, open-source, automated document merger built on top of the LibreOffice engine. It lets you combine any number of documents — across any format — into a single clean output file, entirely offline and without any account, subscription, or file size restriction.

Why Libre Merger Exists

Online tools like iLovePDF and Smallpdf impose hard limits: merge only 2–4 files at once, require subscriptions to unlock higher limits, and upload your documents to remote servers. Even AI assistants cap free users at 2–3 attached documents per conversation.

Libre Merger was built to eliminate all of that. It runs locally on your machine, uses the proven LibreOffice rendering stack, and places no artificial limit on how many documents you merge or how large they are.

What You Can Do

  • Merge unlimited documents of mixed formats in one operation
  • Sort files before merging by name, date, or manual drag-and-drop order
  • Split a single document into separate files by page range
  • Convert any supported format to another (e.g. DOCX to PDF)
  • Apply watermarks to merged output
  • Do all of the above with zero internet connection

2. How It Works

Libre Merger acts as a clean interface layer over the LibreOffice soffice CLI. When you add files and press Merge, the application:

  1. Detects each file's format using extension and MIME-type inspection
  2. Routes each file through the LibreOffice conversion engine to normalize it into a common intermediate format
  3. Combines the normalized documents preserving headings, styles, fonts, tables, and page layouts
  4. Exports the final merged file to your chosen output format and path

Because LibreOffice handles the actual document processing, Libre Merger inherits its full format compatibility and rendering accuracy without reinventing any conversion logic.


3. System Requirements

Component Minimum Recommended
Operating System Windows 10, Ubuntu 20.04, macOS 12 Windows 11, Ubuntu 22.04, macOS 14
LibreOffice 7.0 24.x (latest stable)
Python 3.8 3.11 or 3.12
RAM 2 GB 4 GB or more
Disk Space 500 MB (LibreOffice) + 50 MB (app) 1 GB
Internet Connection Not required Not required

To suggest a feature or vote on priorities, open a thread in GitHub Discussions.


12. FAQ

Q: Does Libre Merger require an internet connection? No. It is entirely offline. No connection is needed to install, run, or use any feature.

Q: Is there a file size limit? No. Libre Merger places no artificial limit on file size or the number of files in a merge. Very large files may take longer depending on your system's available RAM.

Q: Can I merge files of different formats in one operation? Yes. You can add DOCX, PDF, PPTX, and TXT files simultaneously and merge them into a single output.

Q: Will the styles and formatting from my original documents be kept? By default, yes. Set "preserve_styles": false in config.json if you want a unified style applied across all sections instead.

Q: Is this safe to use with confidential documents? Yes. Your files are never sent anywhere. All processing happens locally using LibreOffice on your machine.

Q: Does it work on Mac and Linux? Yes. Run it from source using Python on both platforms. Native installers for macOS and Linux are on the roadmap.

Q: Why does it need LibreOffice installed separately? Libre Merger uses LibreOffice as its processing engine rather than bundling a proprietary converter. This keeps the application lightweight, ensures high-quality output across all supported formats, and means you can audit exactly what is processing your documents.

Q: Can I use this in a commercial or enterprise environment? Yes. It is released under the MIT License, which permits free use in any context including commercial and enterprise.


13. License

Libre Merger is released under the MIT License.

You are free to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software without restriction, provided the original copyright notice is retained.


Developed by Muhammad Uzair

For support: uzairrshahid@gmail.com · Discord — Codemo Teams · GitHub Issues

# Libre Merger — Official Wiki

Free · Open Source · Offline · LibreOffice Powered


Table of Contents

  1. [Overview](#1-overview)
  2. [How It Works](#2-how-it-works)
  3. [System Requirements](#3-system-requirements)
  4. [Installation](#4-installation)
  5. [Using Libre Merger](#5-using-libre-merger)
  6. [Supported Formats](#6-supported-formats)
  7. [Configuration](#7-configuration)
  8. [Troubleshooting](#8-troubleshooting)
  9. [Security & Privacy](#9-security--privacy)
  10. [Contributing](#10-contributing)
  11. [Roadmap](#11-roadmap)
  12. [FAQ](#12-faq)
  13. [License](#13-license)

1. Overview

Libre Merger is a free, open-source, automated document merger built on top of the LibreOffice engine. It lets you combine any number of documents — across any format — into a single clean output file, entirely offline and without any account, subscription, or file size restriction.

Why Libre Merger Exists

Online tools like iLovePDF and Smallpdf impose hard limits: merge only 2–4 files at once, require subscriptions to unlock higher limits, and upload your documents to remote servers. Even AI assistants cap free users at 2–3 attached documents per conversation.

Libre Merger was built to eliminate all of that. It runs locally on your machine, uses the proven LibreOffice rendering stack, and places no artificial limit on how many documents you merge or how large they are.

What You Can Do

  • Merge unlimited documents of mixed formats in one operation
  • Sort files before merging by name, date, or manual drag-and-drop order
  • Split a single document into separate files by page range
  • Convert any supported format to another (e.g. DOCX to PDF)
  • Apply watermarks to merged output
  • Do all of the above with zero internet connection

2. How It Works

Libre Merger acts as a clean interface layer over the LibreOffice soffice CLI. When you add files and press Merge, the application:

  1. Detects each file's format using extension and MIME-type inspection
  2. Routes each file through the LibreOffice conversion engine to normalize it into a common intermediate format
  3. Combines the normalized documents preserving headings, styles, fonts, tables, and page layouts
  4. Exports the final merged file to your chosen output format and path

Because LibreOffice handles the actual document processing, Libre Merger inherits its full format compatibility and rendering accuracy without reinventing any conversion logic.


3. System Requirements

Component Minimum Recommended
Operating System Windows 10, Ubuntu 20.04, macOS 12 Windows 11, Ubuntu 22.04, macOS 14
LibreOffice 7.0 24.x (latest stable)
Python 3.8 3.11 or 3.12
RAM 2 GB 4 GB or more
Disk Space 500 MB (LibreOffice) + 50 MB (app) 1 GB
Internet Connection Not required Not required

Libre Merger is entirely offline. No internet connection is needed at any point during installation or use.


4. Installation

4.1 Install LibreOffice

Libre Merger requires LibreOffice to be installed on your system before the application can function.

Download LibreOffice (all platforms):

https://www.libreoffice.org/download/download/

Select the latest stable release for your operating system, run the installer, and follow the default prompts. No custom configuration is required during LibreOffice setup.

Verify the installation:

Open a terminal or command prompt and run:

libreoffice --version

Expected output example:

LibreOffice 24.2.3.2 (X86_64)

If the command is not recognized, see [Troubleshooting → LibreOffice Not Detected](#81-libreoffice-not-detected).


4.2 Install Libre Merger

Windows:

  1. Go to the [dist/](https://github.com/uzairshahidgithub/Libre-Merger/tree/main/dist) folder in the repository
  2. Download Setup.exe
  3. Double-click Setup.exe to launch the installer wizard
  4. Follow the on-screen prompts
  5. The installer creates a Desktop shortcut and a Start Menu entry automatically

Windows SmartScreen Notice: Windows may display a security warning for unsigned open-source executables. Click More info → Run anyway to proceed. The full source code is publicly auditable on GitHub.

Linux:

git clone https://github.com/uzairshahidgithub/Libre-Merger.git
cd Libre-Merger
pip install -r requirements.txt
python main.py

macOS:

git clone https://github.com/uzairshahidgithub/Libre-Merger.git
cd Libre-Merger
pip3 install -r requirements.txt
python3 main.py

4.3 Developer Build from Source

Follow these steps to build the application and generate a distributable installer from source.

Step 1 — Clone the repository:

git clone https://github.com/uzairshahidgithub/Libre-Merger.git
cd Libre-Merger

Step 2 — Install Python dependencies:

pip install -r requirements.txt

Dependencies installed:

python-docx
PyPDF2
odfpy
click
rich
pyinstaller

Step 3 — Run in development mode (no build required):

python main.py

Step 4 — Build the installer:

python build.py

The compiled installer is output to:

dist/
└── Setup.exe

5. Using Libre Merger

5.1 Merging Documents

This is the core feature of Libre Merger.

  1. Open Libre Merger from your Desktop or Start Menu
  2. Click Add Files or drag and drop documents directly into the window
  3. Add as many files as needed — there is no limit
  4. Arrange the file order (see [Sorting Files](#52-sorting-files))
  5. Select your output format from the dropdown (PDF, DOCX, ODT, etc.)
  6. Click Merge
  7. Choose a save location when prompted

The merged file is generated and saved to your chosen location. The entire process for a typical 5–10 file merge takes approximately 10–20 seconds depending on file sizes.


5.2 Sorting Files

Before merging, you can control the order in which documents are combined.

Manual reordering: Drag any file up or down in the file list to set its position in the final merged output.

Automatic sorting options (available from the Sort menu):

Sort Option Behavior
Name (A → Z) Alphabetical by filename
Name (Z → A) Reverse alphabetical
Date Modified (Newest) Most recently edited files first
Date Modified (Oldest) Oldest edited files first
File Size (Largest) Largest files first
File Size (Smallest) Smallest files first

5.3 Splitting Documents

To split a single document into separate files:

  1. Click Split in the toolbar
  2. Add the document you want to split
  3. Choose a split method:
    • By page range — e.g. pages 1–5 become one file, 6–10 become another
    • Every N pages — split into chunks of a fixed page count
    • By bookmark — split at each heading or bookmark (DOCX and ODT only)
  4. Choose the output folder
  5. Click Split

Each section is saved as a separate file in the selected output folder.


5.4 Converting Documents

To convert a document from one format to another without merging:

  1. Click Convert in the toolbar
  2. Add one or more files
  3. Select the target output format
  4. Choose the output folder
  5. Click Convert

Conversion is processed individually per file. All converted files are placed in the selected output folder.


5.5 Watermarking

To add a text watermark to a document or merged output:

  1. Complete your merge or open a document via Watermark in the toolbar
  2. Enter the watermark text (e.g. CONFIDENTIAL, DRAFT, COPY)
  3. Adjust settings:
    • Font size
    • Opacity (transparency level)
    • Rotation angle
    • Position (center, tile, corner)
  4. Click Apply Watermark
  5. Choose your save location

Watermarks are embedded into the document via the LibreOffice rendering engine and appear on every page of the output.


6. Supported Formats

Input Formats (files you can add)

Format Extension
Word Document .docx .doc
OpenDocument Text .odt
PDF .pdf
Excel Spreadsheet .xlsx .xls .ods
PowerPoint Presentation .pptx .ppt .odp
Plain Text .txt
Rich Text Format .rtf
HTML Document .html .htm
CSV (as table) .csv

Output Formats (what you can export as)

Format Extension
PDF .pdf
Word Document .docx
OpenDocument Text .odt
Plain Text .txt
Rich Text Format .rtf
HTML .html

Mixed-format merging is fully supported. You can add a DOCX, a PDF, and a PPTX in the same merge operation and export the combined result as a single PDF.


7. Configuration

Libre Merger stores its settings in config.json located in the application's root directory.

Default config.json

{
  "libreoffice_path": "auto",
  "output_dir": "./merged_output",
  "preserve_styles": true,
  "page_break_between": true,
  "default_output_format": "pdf",
  "temp_dir": "./temp",
  "log_level": "info"
}

Configuration Options

Key Default Description
libreoffice_path "auto" Path to LibreOffice executable. Set manually if auto-detection fails.
output_dir "./merged_output" Default folder where merged files are saved.
preserve_styles true Keep original fonts, colors, and heading styles from source documents.
page_break_between true Insert a page break between each merged document.
default_output_format "pdf" Default export format shown in the format dropdown.
temp_dir "./temp" Folder used for intermediate processing files. Cleaned up after each merge.
log_level "info" Logging verbosity. Options: debug, info, warning, error.

Setting LibreOffice Path Manually

Windows:

{
  "libreoffice_path": "C:\\Program Files\\LibreOffice\\program\\soffice.exe"
}

Linux:

{
  "libreoffice_path": "/usr/bin/libreoffice"
}

macOS:

{
  "libreoffice_path": "/Applications/LibreOffice.app/Contents/MacOS/soffice"
}

8. Troubleshooting

8.1 LibreOffice Not Detected

Symptom: Application shows an error saying LibreOffice was not found or cannot be started.

Solution:

First, verify LibreOffice is installed:

libreoffice --version

If the command fails, LibreOffice is not in your system PATH. Find the install path:

  • Windows: C:\Program Files\LibreOffice\program\soffice.exe
  • Linux: Run which libreoffice or which soffice
  • macOS: /Applications/LibreOffice.app/Contents/MacOS/soffice

Then open config.json and set libreoffice_path to the full path found above.


8.2 Setup.exe Blocked by Windows

Symptom: Windows Defender SmartScreen blocks Setup.exe from running.

Solution: Click More info on the SmartScreen dialog, then click Run anyway. This warning appears because the executable is not code-signed. The full source code is available for review on GitHub.

To avoid this, you can also run directly from source:

python main.py

8.3 Merged PDF Has Missing or Broken Fonts

Symptom: Text in the merged PDF appears as boxes or substituted with a different font.

Solution: The fonts used in your source documents must be installed on your local system. LibreOffice uses system fonts for rendering. Install any missing fonts and re-run the merge.


8.4 Application Is Slow on Large Batches

Symptom: Merging 20+ files takes a very long time or the application becomes unresponsive.

Solution: Split your files into smaller groups of 8–10. Merge each group into an intermediate file, then do a final merge of the intermediate files. This reduces peak memory usage significantly.


8.5 Output File Has Inconsistent Styles

Symptom: Different sections of the merged file have different fonts, heading sizes, or spacing.

Solution: Set "preserve_styles": false in config.json to strip all original styles and apply a single unified default style across the entire merged document. Alternatively, create a .ott template and apply it via the template option in the application.


8.6 Permission Denied Errors on Windows

Symptom: The app fails to write output files or access temp directories.

Solution: Run the application or terminal as Administrator. Right-click the shortcut → Run as administrator. Also ensure the output and temp directories are not inside a protected system folder.


9. Security & Privacy

Libre Merger is designed from the ground up with document privacy as a core principle.

Your documents are never transmitted anywhere. The application has no network functionality. No telemetry, analytics, crash reporting, or update checks make any outbound connection.

Property Detail
Internet access None required. None used.
File transmission Documents stay on your local machine at all times.
Cloud storage Not used. Not integrated.
User accounts No account, login, or registration of any kind.
Telemetry None.
Source code Fully open and auditable on GitHub.

This makes Libre Merger suitable for confidential documents, legal files, internal enterprise use, and any context where document privacy is a hard requirement.


10. Contributing

Libre Merger is a community project. Contributions of all kinds are welcome — bug fixes, new features, documentation improvements, and translations.

Getting Started

# Fork the repository on GitHub, then:
git clone https://github.com/YOUR_USERNAME/Libre-Merger.git
cd Libre-Merger

# Create a branch for your work
git checkout -b feature/your-feature-name

# Install dependencies
pip install -r requirements.txt

# Make your changes, then run tests
python -m pytest tests/

# Commit and push
git commit -m "Add: description of your change"
git push origin feature/your-feature-name

# Open a Pull Request on GitHub

Contribution Guidelines

  • Follow the existing code style and structure
  • Include a test for any new feature or bug fix
  • Write clear, descriptive commit messages
  • Update the relevant Wiki page if your change affects documented behavior
  • One feature or fix per Pull Request keeps reviews manageable

Ways to Contribute Without Code


11. Roadmap

The following features are planned for future releases. Version numbers are approximate targets.

Feature Status
Drag-and-drop reordering in file list Planned
Page break control between merged documents Planned
Header and footer injection between sections Planned
Auto-generated Table of Contents Planned
YAML-based custom merge rules Planned
Native macOS .dmg installer Planned
Linux .deb and .rpm packages Planned
Docker image for server-side batch processing Planned
Local web interface (Flask drag-and-drop UI) Planned
Password-protected PDF output Planned

To suggest a feature or vote on priorities, open a thread in [GitHub Discussions](https://github.com/uzairshahidgithub/Libre-Merger/discussions).


12. FAQ

Q: Does Libre Merger require an internet connection? No. It is entirely offline. No connection is needed to install, run, or use any feature.

Q: Is there a file size limit? No. Libre Merger places no artificial limit on file size or the number of files in a merge. Very large files may take longer depending on your system's available RAM.

Q: Can I merge files of different formats in one operation? Yes. You can add DOCX, PDF, PPTX, and TXT files simultaneously and merge them into a single output.

Q: Will the styles and formatting from my original documents be kept? By default, yes. Set "preserve_styles": false in config.json if you want a unified style applied across all sections instead.

Q: Is this safe to use with confidential documents? Yes. Your files are never sent anywhere. All processing happens locally using LibreOffice on your machine.

Q: Does it work on Mac and Linux? Yes. Run it from source using Python on both platforms. Native installers for macOS and Linux are on the roadmap.

Q: Why does it need LibreOffice installed separately? Libre Merger uses LibreOffice as its processing engine rather than bundling a proprietary converter. This keeps the application lightweight, ensures high-quality output across all supported formats, and means you can audit exactly what is processing your documents.

Q: Can I use this in a commercial or enterprise environment? Yes. It is released under the MIT License, which permits free use in any context including commercial and enterprise.


13. License

Libre Merger is released under the MIT License.

You are free to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software without restriction, provided the original copyright notice is retained.


Developed by [Muhammad Uzair](https://github.com/uzairshahidgithub)

For support: uzairrshahid@gmail.com · [Discord — Codemo Teams](https://linktr.ee/codemoteams) · [GitHub Issues](https://github.com/uzairshahidgithub/Libre-Merger/issues)