← Back to Open-Source PDF Software

Open-Source PDF GUI Software

Standalone graphical desktop (or mobile) application

28 tools

Command Line

Xpdf

CliGui

PDF viewer plus command-line tools (pdftotext, pdftops, pdftoppm, pdftopng, pdftohtml, pdfinfo, pdfimages, pdffonts, pdfdetach) for viewing PDFs and converting them to text, PostScript, image, or HTML, plus metadata, image, font, and attachment extraction.

Command Line

MuPDF

CliGuiLibrary

Lightweight C library, viewer, and CLI toolset for PDF, XPS, and e-book formats: renders and extracts text/images/metadata/structured content; creates, splits, merges, and compresses PDFs; adds annotations (highlights, stamps, shapes); permanently redacts content; digitally signs documents; converts between PDF, SVG, PNG, HTML, and PostScript; and embeds into web pages/apps.

Command Line

Evince

Gui

GNOME's document viewer, built on Poppler for PDF (plus PostScript via Ghostscript, DjVu, DVI, multi-page TIFF, comic archives, and more): text/highlight annotations, text selection and copying (incl. from OCR'd scans), optional override of document print restrictions, integrated search, thumbnails, dual-page and full-screen/slideshow viewing. No form-filling support.

C#

PDFCreator

Gui

This is the source code of the well-known PDFCreator from `pdfforge`. PDFCreator works like a virtual printer that converts any printable application's output to PDF, and (per pdfforge's product page) supports merging/reordering pages, password/digital-signature protection, PDF/A archiving, cover pages, and automated actions (FTP upload, email, scripting).

C#

Gios.PSM

CliGuiLibrary

Free, portable PDF splitting/merging utility (library, console, and GUI); also converts JPG images to PDF.

Stale
C#

PDFTK Builder

CliGui

Free GUI front-end for the PDFtk command-line tool on Windows: split, merge, stamp, add page numbers, rotate, edit metadata, bookmarks, and attachments — all via a graphical interface over PDFtk.

Stale
C#

clawPDF

Gui

Open-source virtual (network) printer for Windows: print-to-PDF, PDF/A-1b/2b/3b, PDF/X, PDF/Image, PNG/JPEG/TIF/text output; OCR; password protection with up to 256-bit AES encryption; and multi-user/enterprise deployment support.

Stale
C#

PDFKeeper

Gui

Open-source .NET PDF document management/storage application: full-text-indexed search across a single-user SQLite database or a shared multi-user (on-premises or cloud) database; bulk or automated upload via watched folders; metadata tagging (title, author, subject, category, keywords); PDF bursting; document-state flags; and notes viewing/editing alongside search-term snippets.

C++

SumatraPDF

Gui

Free, multi-format document reader for Windows supporting PDF, EPUB, MOBI, CBZ, CBR, FB2, CHM, XPS, and DjVu viewing.

C++

Scribus

Gui

Free, open-source desktop publishing (DTP) application for laying out newspapers, brochures, newsletters, posters, and books, with professional-grade PDF export: PDF/X-3 and PDF/X-4 support, native PDF 1.6 output with embedded OpenType fonts, transparency and encryption, and interactive PDF form fields, annotations, and bookmarks.

C++

Okular

Gui

KDE's universal document viewer: reads PDF (via Poppler), EPUB, DjVU, Markdown, images, and CBR/CBZ comics; adds inline and popup annotations, highlights, underlines, and freehand text; views and verifies embedded digital signatures and can sign PDFs; text selection with a magnifier tool; thumbnail navigation and an auto-generated table of contents.

C++

xournalpp

Gui

Handwriting notetaking application (GTK3) that annotates on top of PDFs: highlight, underline, or strike through selected/copied PDF background text, follow links in the background PDF, and export annotated notes to SVG, PNG, or PDF from the GUI or command line. Supports pen/stylus input (e.g. Wacom tablets).

C++

diff-pdf

CliGui

Compares two PDF files and reports whether they differ (exit code, or `--output-diff` to generate a PDF highlighting visual differences); also offers a GUI mode for interactive side-by-side comparison with zoom and page-shifting to spot translation-only changes.

C++

PDFedit

GuiLibrary

PDF editing library, GUI, and tools for viewing and editing the internal structure of PDF documents — useful for inspecting malformed/problematic PDFs. A Flatpak build is available for modern Linux.

DepreciatedStale
C++

GSview

Gui

Open-source graphical front-end for Ghostscript on Windows/Linux/macOS: views and navigates PostScript and PDF files, and converts sequences of PDF pages to image files (from bitmap through TIFF-pack formats) at selectable resolutions.

Stale
Java

Pdf Viewer Plus

Gui

Simple Android PDF viewer app: opens PDFs from local storage or internet links, and can download PDFs to the device.

DepreciatedStale
Java

Images To PDF

Gui

Android PDF toolkit centered on creating PDFs from camera/gallery images (and converting text files to PDF), plus managing existing PDFs: merge, split, compress, remove/rearrange/rotate pages, extract images, and encrypt/decrypt.

Java

Simple Android PDF Viewer

Gui

Android PDF viewer (built on pdf.js) that opens PDFs via Android content providers without requiring app permissions, rendering them inside a sandboxed WebView with no network/filesystem/content-provider access and a restrictive Content-Security-Policy for security.

Java

PDFsam

Gui

Free, cross-platform desktop app (JavaFX, self-contained with bundled JRE since v4) for splitting, merging, mixing, rotating, and extracting pages from PDF files.

Java

Eclipse BIRT

GuiWeb App

Open-source reporting and data-visualization project (Eclipse Foundation): report design/engine/model for generating reports from data sources, a charting module for graphical visualizations, and a web viewer component for browser-based report delivery.

JavaScript

react-native-pdf

GuiPlugin

React Native PDF viewer component: loads PDFs from URLs, local files, assets, blob data, or base64 (with optional caching); page jumping, page-by-page or continuous scrolling, pinch/double-tap zoom, and password-protected PDF handling. Uses PDFKit on iOS, PDFium on Android, and a native implementation on Windows; also supports Expo via a config plugin.

Lua

KOReader

Gui

Document viewer built for e-ink readers: fixed-layout (PDF, DjVu, CBT, CBZ) and reflowable (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT) formats; reflows scanned PDFs via K2pdfopt; customizable typography (margins, line spacing, fonts); StarDict dictionary and Wikipedia lookups; Calibre/Wallabag/Google Translate integration; and built-in FTP client, SSH server, and OPDS catalog support.

Objective-C

Skim

Gui

Open-source (BSD) macOS PDF reader and note-taker for reading and annotating scientific papers: adding/editing notes and highlights (with one-swipe highlighting), exporting notes as text, TOC/thumbnail navigation with visual history, full-screen presentation mode with transitions, snapshots, bookmarks, Spotlight search, LaTeX/SyncTeX/PDFSync integration, BibDesk compatibility, Keychain-saved passwords, and extensive AppleScript support.

Python

PDF Arranger

Gui

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. A GUI front-end for pikepdf; can also import images into a PDF when img2pdf is installed.

Python

Paperwork

Gui

Personal document manager (Linux/Windows) for scanning, OCR'ing, indexing, and searching paper documents and PDFs; the project's own repository topics list OCR, scanning, PDF support, indexing, and document management as its core feature areas.

Python

Open Paperless

Gui

Simplified fork/UI re-think of Mayan EDMS aimed at home users: scans, indexes, and archives paper documents for later retrieval, with a reduced feature set compared to the underlying Mayan EDMS platform.

Stale
Python

pdf2docx

CliGuiLibrary

Converts PDF files to DOCX (Word) format, preserving formatting and layout, and extracts tables; offers both CLI and GUI.

Python

PDFMathTranslate

CliDockerGuiLibraryPlugin

Translates scientific PDF documents while preserving layout, formulas, charts, tables of contents, and annotations; supports Google Translate, DeepL, Ollama, OpenAI, and other translation backends via CLI, GUI, Docker, or a Zotero plugin, with batch/directory translation and partial-document translation.