The versatile PDF creation and manipulation library for Ruby
See below for details
HexaPDF includes facilities for creating PDF documents from scratch, using advanced document layouting facilites.
HexaPDF can read existing documents and modify them in various ways, e.g. adding, modifying or deleting pages, annotations, form fields, files...
HexaPDF supports all password based encryption mechanisms, including AES 256bit, when reading and writing PDF files.
HexaPDF writes output PDF files as compactly as possible. Additionally, it can optimize existing PDF files to reduce their file size.
You can use HexaPDF anywhere since it runs in any Ruby 3.0+ compatible runtime.
While there are other Ruby PDF libraries, none of them provide the full spectrum of PDF features, like HexaPDF does.
The implementation adheres to the PDF 2.0 Standard and is tested on thousands of PDFs.
Ruby is slow? Not so much! Built with performance in mind, HexaPDF is mostly only 2.5 times slower than compiled solutions!
Care has been taken to make sure that HexaPDF doesn't unnecessarily use memory.
Every part of HexaPDF is thoroughly tested. The fast test suite ensures that it stays so.
HexaPDF comes with a CLI application for quickly performing the most common PDF tasks.
The commercial license covers the case where the use of the open source AGPL-licensed version is not possible or desirable.
For example, if you use HexaPDF in an application and distribute that application, you have to make the source code of the whole application available under the AGPL. The same applies if your application is used over a network, e.g. via a web server.
Businesses that want to use HexaPDF and want to steer clear of potential legal issues or don’t want to make their source code available need to buy a commercial license (for details see the text of the commercial license):
All licenses are sold as yearly subscriptions. Volume discounts may apply for the limited licenses. Please inquire for details.
Each license is perpetual, with one year of updates included. The last officially released version (not the last code pushed to the repository) before the invoice date plus one year may perpetually be used.
Contact firstname.lastname@example.org for more information!
No, only production hosts need a license. If you buy at least one commercial license, all development, testing, staging and CI hosts are included.
In such a case the “Limited License (VMs only)” would be the correct choice. You need one license for each VM on which HexaPDF is used. Volume discounts may apply, please contact sales for details.
You would need to buy licenses for the maximum number of hosts to cover the case when all hosts are in use.
HexaPDF is developed as an open source library and application under the GNU Affero General Public License (AGPL).
The main website is
There you will find all the necessary information on usage, examples and documentation.
Everything that is available in the commercial version is also available in the AGPL version. This benefits the open source community since the other option, the open core model, would have meant that more advanced features wouldn’t be available. And businesses can have a look at everything that is available and easily decide beforehand, if HexaPDF is the right tool for their usecase.