Open Source PDF Document Management

PDFKeeper is free, open source software that provides a storage and management solution for PDF documents.

PDFKeeper is OSI Certified Open Source Software, licensed under the terms of the GNU General Public License (GPL) Version 3.

Download and install from GitHub or FossHub or install via Windows Package Manager.

Open Laptop


PDFKeeper began as an idea to solve a personal document storage issue. With both digital and paper documents stored in many places, it was becoming a challenge to locate documents quickly, especially at tax time. What proved to be an even bigger challenge was locating a free solution that could store PDF documents in a free, full-text search ready, relational database that could be accessed by anyone on the local area network. In addition, I had a requirement to store notes in the database with the PDF document that would also be searchable.

In early 2009, after being unsuccessful in locating a solution, I started building PDFKeeper, an open source application that would use a free, full-text search ready, relational database for PDF document and notes storage, targeted at the Small Office Home Office and Small Business community. To develop the application quickly, I decided to build it with Open Object REXX, a scripting language with GUI support that I was very familiar with from my OS/2 days. As for the database, I chose to use Oracle® Database XE since it was free and was capable of indexing PDF documents; but, it was my plan to expand database compatibility to other platforms over time.

Here are some development milestones by year: (for more details, please see the Change Log)


The first version of PDFKeeper is released to the public on Google Code.


PDFKeeper receives free testing services from nResult, a software testing company that was providing free software testing services to open source projects; PDFKeeper is redesigned and rewritten as a WinForms application in VB.NET for .NET Framework 3.5 SP1 using SharpDevelop.


PDFKeeper moves to CodePlex; .NET Framework 4.0 is targeted; All documentation is replaced by new Help system; Installer is migrated from InnoSetup to Windows Installer using WiX Toolset.


Development is temporarily halted due to the difficulty of adding new features and making improvements without extensive code rewriting; Research begins on how best to address the architectural challenges preventing further development.


PDFKeeper moves to GitHub; Development finally resumes on the next major release; Solution is migrated to Visual Studio 2013 Community Edition; ​.NET Framework 4.6.1 is targeted.


Source code, user interface, help file, and installer are completely redesigned and rewritten; installation is now per-user.


PDFKeeper Homepage is now online; the redesigned PDFKeeper is released with additional search capabilities; Oracle® Database compatibility is expanded to 18c, 12c, and 11g Release 2.


PDFKeeper logo is redesigned; 10th year anniversary edition is released; Category and flag features are added; Oracle® Database compatibility is expanded to 19c and 18c XE.


Solution is upgraded to Visual Studio 2019 Community Edition; .NET Framework 4.8 is targeted; 32-bit support is discontinued; User interface is redesigned to improve document searching; Source code goes through an extensive refactoring.


Integrated, single user database option using SQLite is added; document records can be categorized by Tax Year; text annotations are now indexed; User Interface layout is changed; PDFKeeper is added to the Windows Package Manager manifest repository and can now be installed via winget; text from image-only PDF documents is now extracted using OCR and indexed (Windows 10 only).

Managing and developing PDFKeeper has been quite an exciting journey filled with learning new technologies, overcoming challenges, and celebrating the successes! It is my goal for PDFKeeper to be the PDF Document Storage and Management System of choice for both home and business users.

Thank you for reading!

Robert F. Frasca

Project Owner and Maintainer

If you wish to support PDFKeeper, please donate to the project using PayPal, Debit, or Credit Card.

PDFKeeper is a volunteer project. Your donation will help pay annual operating expenses and support future development.




Store and manage PDF documents in a local or compatible, client-server relational database where they’re indexed to provide full-text search functionality.

Upload PDF documents individually or in bulk. In addition, configured folders can be setup to allow for integration and automation.

Apply a category and/or tax year to selected document records and when PDF documents are uploaded.

Set the flag state on a selected document record and when PDF documents are uploaded to mark for follow-up.

Add notes to a selected document record that can include the date, time, and user account name. All notes can be edited and are indexed by the database.

Search for document records by Text, Selections (Author/Subject/Category/Tax Year), or Date Added. In addition, the user can list document records that are flagged or all document records in the database.

With PDFKeeper, the following functions can be performed on a selected document record: PDF document viewing with the bundled or default viewer; flag document state management; notes viewing and editing; keywords, PDF preview, and PDF text are also displayed for viewing.

Export selected PDF documents with their category, tax year, notes, and flag state from the database for easy importing.

Contact Form

Please use this form to send a non-technical message regarding PDFKeeper to the Project Owner. For reporting bugs and requesting new features, please visit the Issues tracker on GitHub. To ask questions about PDFKeeper and to get help, please visit the Discussions board on GitHub.

Thanks for submitting!