ReportLab
Python library for generating PDFs from code, from a low-level drawing canvas up to a page-layout engine, under a BSD licence.
Jobs Convert Merge — assembles the documents the toolkit builds; importing pages from an existing PDF is PageCatcher, in PLUS Protect Edit Accessibility
Since 2000
Where your files are processed
No server involved
A Python library that writes PDFs inside the calling process. The open-source toolkit makes no network calls at all; the separate proprietary PLUS product is a different thing and is not what this record describes. That is a property of the library itself: what an application built with it does with your file depends on that application, not on this.
Architectural: an in-process Python package with no hosted component of its own, so PDFs are written to the local filesystem by the calling application. ReportLab does not receive the documents. It does separately sell ReportLab-hosted solutions, and a licence or evaluation build renders a nag line or watermark into the output, which is a licensing artefact rather than a data transfer.
What it does
ReportLab is the long-established Python toolkit for building PDFs programmatically, and the engine underneath a large part of the Python PDF ecosystem. It offers a low-level drawing canvas for exact placement of text, vector graphics and images, and a higher-level flowable framework that flows paragraphs, tables and charts across pages with automatic pagination. It embeds fonts, images, barcodes, charts and interactive form fields, applies password encryption and permissions, writes outlines and internal links, and the open-source toolkit also merges the documents it builds. Importing pages out of an existing PDF to stamp or assemble a new document is ReportLab PLUS territory: the vendor documents page reuse through PageCatcher, which is part of the commercial package rather than the BSD toolkit.
Best for: Python teams that need to generate reports, invoices, statements or labels at volume and want a permissively licensed toolkit they can vendor into a closed-source product without a licence negotiation.
Worth knowing: The free thing and the paid thing are two different products with two different licences, and the free one is what the name usually means. The open-source ReportLab PDF Toolkit is BSD-licensed and creates documents with canvas and flowables: text, fonts, drawings, tables, charts, form fields, encryption and outlines. ReportLab PLUS is a separate commercial package built on it — the vendor describes the toolkit as the engine for PLUS, containing most but not all of the building blocks — and it is what adds the RML template workflow, PageCatcher page reuse and Diagra. Anything that reads or reuses pages from an existing PDF belongs on that side of the line, not to the toolkit.
Details, and where each comes from
Vendor statements, our own reading of their pages, and the things nobody has established yet, each answered separately. Where we have not confirmed something it says so rather than guessing, and a row nobody has established is greyed out.
- Versions covered
- Windows · macOS · Linux · Self-hosted
- Website
- reportlab.com
- Requires an account
- Not applicable
- Watermark on the free tier
- No
- Maximum file size
- Not verified
- Batch processing
- Yes
- Data residency
- Not verified
- Open source
- Yes
- Self-hostable
- Yes
- Licence
- Split by product. The open-source ReportLab PDF Toolkit (the `reportlab` package on PyPI) is under a BSD 3-clause style licence: redistribution of source and binaries is permitted provided the copyright notice and disclaimer are retained and the company name is not used to endorse derived products. ReportLab PLUS, the separate commercial package shipped as `rlextra`, is proprietary and licensed under ReportLab's standard licence terms, sold as an annual or perpetual licence priced by pages of PDF output per month. The two are distributed from the same download area but are not the same licence.
- Redaction
- No redaction feature
- Programmatic access
- Embeddable library
- Last availability check
- Responded in 777 ms 16 October 2026
Checked automatically by our own runner, not reported by the vendor. 100% of our last 30 checks got a response.
What the redaction verdict rests on
From the vendor's own documentation, read 22 September 2026. Not tested by us.
What that does not establish: The vendor’s own site was read on 22 September 2026 and contains no mention of redaction, sanitisation, blackout or whiteout. Absence from a vendor’s own material is not proof that a feature does not exist — it may be undocumented, or on a page the reading did not reach — but for a NEGATIVE claim it is the strongest evidence available, and it is weaker than a positive quote. Recorded as such rather than presented as certainty.
What the vendor says
Claims are labelled rather than repeated as fact. Where we have checked something ourselves, it says so and shows when. Checked means we read the vendor's own page and it says what we recorded — not that we tested the behaviour, unless the note says we did.
-
“The open-source ReportLab PDF Toolkit ... The engine for ReportLab Plus, containing most but not all of the building blocks. Create a graph of Python objects and render them. For experienced developers willing to invest time.”
Checked by us — the source says this Read 22 September 2026
Confirmed, with a wording note that belongs in the record because the index shows claims in quotation marks. The claim is assembled from two adjacent rows of the documentation's own comparison table: the row labelled "ReportLab PDF Toolkit (open source)" and the row for ReportLab Plus, whose description reads "The engine for ReportLab Plus, containing most but not all of the building blocks. Create a graph of Python objects and render them. For experienced developers willing to invest time." The claimed phrase "The open-source ReportLab PDF Toolkit" is our rendering of the table's label rather than the label itself, and the ellipsis in the claim marks where two rows were joined. The substance is accurate to the page; the punctuation is ours.
Standing: Re-read and matched byte for byte
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- c49bd621580cd82f02ae051c42b5822e7f9b74f9ce9768f10a1a484ed364bb5c
How we checked: Re-verified on 2026-09-22: https://docs.reportlab.com/ re-rendered in headless Chrome with scripts/render-page.mjs and every sentence of this claim found in the rendered text, though not as one continuous passage. Originally verified on 2026-09-21. sourceHash is the SHA-256 of the re-rendered text, held as rv-docs-reportlab-com-35509840.txt.
-
“every page of output will bear a 'nag line' stating that this is an unpaid evaluation copy.”
Checked by us — the source says this Read 22 September 2026
Confirmed verbatim: the sentence appears unaltered in the licence terms. The paragraph after it is the part a user needs and the claim leaves out — once purchased, software works "with a file to permit fully operational use (Licence File)", and "in the absence of a suitable Licence File, the Software will offer restricted functionality". The terms also say the nag line is only the *current* mode of restriction and that ReportLab "reserves the right to change this restriction in future versions". So the visible consequence of not paying is a nag line today, and that is not a guaranteed limit. This is the second ReportLab claim in the index, after the toolkit description.
Standing: Re-read and matched byte for byte
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- ec19c26951f6e28af40539835e5c3bb7827dc28d634c68c4eaf7f13d673edbdb
How we checked: Re-verified verbatim on 2026-09-22: https://www.reportlab.com/about/licence-terms/ re-rendered in headless Chrome with scripts/render-page.mjs and the claim's wording found in the rendered text. Originally verified on 2026-09-21. sourceHash is the SHA-256 of the re-rendered text, held as rv-www-reportlab-com-about-licence-terms-b0d49104.txt.
Each claim is quoted from the vendor's own pages. This section describes what we have and have not checked — it is not a judgement about anyone.
Sponsorship is distribution, not an endorsement or a promise of search rankings, AI citations, traffic, or sales. This listing is a free entry, compiled from published sources.
Related reading
- Checking a PDF for accessibility — what makes a PDF accessible, and how it is checked.
- Which PDF tools keep your file on your machine — what we count as processing on your own device.
- Open source PDF tools, and what their licences require — what open source does and does not tell you.