Tumbler is a PDF viewer and toolbox. It is born from my frustration with apps that suddenly want money to do the next little bit. They almost get the job done, but not quite.
This app has lots of tools for manipulating PDFs. Almost everything I could think of, short of a full editor. It never asks for money.
This is the new world of AI. Anyone can make their own software, just the way they like it. That is what this is; my PDF toolbox, just the way I like it. That is why you will not find a Settings menu.
- Page operations: delete, rotate, reorder (drag-and-drop), merge, and split pages
- Text layer with copy-to-clipboard and full-document search
- Expand Margins — enlarge the page content to fill the margins. Sheet music is often engraved small inside wide borders; this scales every page up by one uniform factor so the notes get bigger without the layout shifting
- OCR — make image-only pages searchable, selectable, copyable, and savable
- Form Filling
- Typewriter — type text anywhere on the page
- Extract text to a file
- View and Edit metadata
- Native Windows printing
- File compression
- Open password-protected files; add, change, or remove a password (AES-256)
- Detect ISO Standards
- Verify Digital Signatures
- Web Optimization - Linearize
- Redaction
| Layer | Technology |
|---|---|
| Shell | Tauri v2 |
| Frontend | React 18 + TypeScript, Vite, Zustand |
| PDF engine | pdfium via pdfium-render, plus lopdf for metadata/CropBox edits |
| Printing/theming | windows crate (GDI, PrintDlgExW, UISettings) |
| Testing | Vitest + jsdom (frontend), cargo test (backend) |
The quickest way to run Tumbler is to grab a prebuilt Windows installer from the latest release (all releases are listed on the Releases page). Each release attaches two installers — use whichever you prefer:
- NSIS —
Tumbler_<version>_x64-setup.exe - MSI —
Tumbler_<version>_x64_en-US.msi
These are self-contained (the required pdfium.dll and qpdf.dll are bundled),
so nothing else needs to be installed. The rest of this section is only for
building from source.
These installers are not yet digitally signed — an application to the SignPath Foundation is pending. See the Code Signing Policy for the intended arrangement and how signatures will be verified.
- Node.js 20+
- Rust (stable) with the Tauri v2 prerequisites for Windows
- A win-x64
pdfium.dll(e.g. from the pdfium-binaries releases), placed atsrc-tauri/resources/pdfium.dll(not checked into the repo) - A win-x64 qpdf DLL (used by "Save Web-Optimized Copy"): download the
qpdf-<version>-msvc64.zipasset from the qpdf releases, takebin/qpdf30.dll, and place it atsrc-tauri/resources/qpdf.dll(not checked into the repo). The MSVC build depends at runtime onmsvcp140.dll,vcruntime140.dll, andvcruntime140_1.dllfrom the same zip'sbin/folder — copy those three alongsideqpdf.dllinsrc-tauri/resources/too, so the app doesn't rely on the target machine having the Visual C++ redistributable installed
npm installnpm run tauri devnpm run tauri buildInstallers are written to src-tauri/target/release/bundle/:
- NSIS:
nsis/Tumbler_<version>_x64-setup.exe - MSI:
msi/Tumbler_<version>_x64_en-US.msi
npm test # frontend (Vitest)
cargo test # backend (from src-tauri/)Tumbler is released under the MIT License.
The Windows installers also redistribute PDFium (BSD-3-Clause), qpdf (Apache-2.0) and the Microsoft Visual C++ runtime, each under its own terms. See THIRD-PARTY-NOTICES.md.
