pdfarranger

From public sources

PDF Arranger is a free, open-source GTK desktop app for merging, splitting, rotating, cropping and rearranging PDF pages in an interactive interface.

ApplicationCategory: Desktop Apps · Office & notes · UtilitiesOpen sourcedata checked Oct 15, 2026

Overview

Working with PDF documents often means switching between tools just to combine files, pull out a few pages, or fix the orientation of a scanned page. PDF Arranger handles these tasks in a single window, letting you merge or split PDF documents and rotate, crop and rearrange their pages by dragging thumbnails with an interactive, intuitive graphical interface. The application is written in Python with GTK 3 and uses pikepdf as its processing backend. It is a fork of Konstantinos Poulios's PDF-Shuffler, maintained to keep the project active. It can also import image files when img2pdf is installed. PDF Arranger is aimed at Linux and BSD desktop users who need a simple, visual way to edit page layouts. It is distributed as a Flatpak, a Snap, and through distribution packages, or it can be installed from source with pip into a virtual environment. It is released under the GPL-3.0 license.
  • gtk
  • gtk3
  • linux
  • pdf
  • python3

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
WindowsCompatible—official build in release 1.14.0: pdfarranger-1.14.0-windows-installer.msi0.60
macOSUnknown———
LinuxUnknown———

Releases

checked Oct 29, 2026
v1.14.0LatestMay 23, 2026Official source ↗

Files in 1.14.0

The marketplace does not host these files: downloads go to the official source. Files have not been scanned by us.
FilePlatformSizeSHA-256Download from the official source
pdfarranger-1.14.0-windows-installer.msiwindows · msi60.4 MB33ba1c3028cc…Official source ↗
pdfarranger-1.14.0-windows-portable.zipwindows · zip58.1 MB71bb8c7d3e9b…Official source ↗

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 15, 2026
Quality Score97
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 15 days ago
Documentation · 1515
README 6099 chars, description present
Ready to use · 1515
install instructions: yes; releases: yes
Metadata · 108
3/4 of description, homepage, license, topics
Releases · 1010
10 release(s), latest 146 days ago
Category confidence · 1010
classifier confidence 1
Adoption · 109
5978 stars (log-dampened, 10k = max)
License clarity · 55
SPDX GPL-3.0
Community · 55
issues enabled, 321 forks

License

GPL-3.0
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/pdfarranger/pdfarrangerPrimary★ 5,978 starslast activity Oct 1, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From pdfarranger/pdfarranger · license GPL-3.0 · fetched Oct 29, 2026

About

[CodeQL] [Codacy Badge] [pdfarranger] [codecov]

PDF Arranger is a small python-gtk application, which helps the user to merge or split PDF documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface. It is a front end for pikepdf.

PDF Arranger is a fork of Konstantinos Poulios’s PDF-Shuffler (see Savannah or Sourceforge). It’s a humble attempt to make the project a bit more active.

For more info see User Manual.

[screenshot of PDF Arranger]

Downloads

PDF Arranger for WindowsMore…

Linux and BSD packages

[Linux packages]

Install from source

PDF Arranger requires pikepdf >= 6. Pip will automatically install the latest pikepdf if there is no pikepdf installed on the system.

On Debian-based distributions

sudo apt-get install python3-pip python3-wheel python3-gi python3-gi-cairo \
    gir1.2-gtk-3.0 gir1.2-poppler-0.18 gir1.2-handy-1 python3-setuptools \
    gettext python3-dateutil python3-venv

On Arch Linux

sudo pacman -S poppler-glib python-pip python-gobject gtk3 python-cairo libhandy

On Fedora

sudo dnf install poppler-glib python3-pip python3-gobject gtk3 python3-cairo \
    python3-wheel python3-pikepdf python3-img2pdf python3-dateutil libhandy

On FreeBSD

sudo pkg install devel/gettext devel/py-gobject3 devel/py-pip \
    graphics/poppler-glib textproc/py-pikepdf x11-toolkits/gtk30 \
    x11-toolkits/libhandy

Install PDF Arranger in a virtual environment

Create a virtual environment in /home/user/myenv

python3 -m venv --system-site-packages ~/myenv

Install PDF Arranger

~/myenv/bin/pip3 install --upgrade https://github.com/pdfarranger/pdfarranger/zipball/main

Optionally create a symlink so that the app can be started from anywhere in a terminal with pdfarranger

sudo ln -s ~/myenv/bin/pdfarranger /usr/local/bin/pdfarranger

In addition, PDF Arranger supports image file import if img2pdf is installed.

For developers

git clone https://github.com/pdfarranger/pdfarranger.git
cd pdfarranger
./setup.py build
python3 -m pdfarranger

For testing see TESTING.md.

For Windows see Win32.md.

For macOS see macOS.md.

For translators

Translations are located in the following files:

If you are not comfortable working with git, you may edit translations directly from Github's web interface. However, in the normal case you would contribute translations by following these steps:

  • Download the main branch (see For developers)
  • Checkout a new branch to save your changes: git checkout -b update-translation-LANG
  • Run po/updatepo.sh LANG, where LANG is the locale you'd like to update
  • Update your translations in po/LANG.po file, and commit them; do not commit changes to po/pdfarranger.pot which may have been automatically regenerated
  • If possible, test your translation to see it in context (see For developers)
  • Create a new pull request with your changes to the main branch

If you are editing mnemonics accelerators (letters preceded by an underscore), here are some additional guidelines. However, if you have no idea what this means, don't worry about it. Try to follow these rules by priority order:

  • be consistent with other GTK/GNOME software
  • pick a unique letter within that given menu if possible
  • pick the same letter as the original string if available
  • pick a strong letter (e.g. in "Search and replace" rather pick s, r or p than a)
Open the repository ↗