Skip to content
dialegein

ReportLab

Python library for generating PDFs from code, from a low-level drawing canvas up to a page-layout engine, under a BSD licence.

Visit ReportLab

Opens the vendor's own site.

Jobs covered

Open a task to see exactly what the vendor documentation supports.

Convert Browse all convert tools

PDF generation from code; not a Word, Excel or image converter

Merge Browse all merge tools

assembles the documents the toolkit builds; importing pages from an existing PDF is PageCatcher, in PLUS

Protect Browse all protect tools

protecting PDFs generated with the open-source ReportLab toolkit, where the PDF features documentation documents canvas encryption and reportlab.lib.pdfencrypt.StandardEncryption with user and owner passwords and the canPrint/canModify/canCopy/canAnnotate permission flags for the generated document. The scope records generated-PDF encryption, password and permission controls, makes clear that it does not redact or remove content, does not protect an arbitrary pre-existing PDF, and is not a general security or DRM guarantee; no claim is made for ReportLab PLUS-only features

Accessibility Browse all accessibility tools

improving the accessibility of PDFs generated with ReportLab, where the open-source toolkit can generate ordinary PDFs and the current accessibility documentation places PDF auto-tagging/tagged output (tagged=1 and RML tagging controls) in commercial ReportLab PLUS 4+, together with guidance on titles, language, bookmarks, form labels and page numbering. The scope records the BSD-toolkit/PLUS-4 split, notes that PLUS auto-tagging and a passing accessibility check are not equivalent to semantic or legal accessibility remediation, and makes no validator, remediation-tool or universal-compliance claim for the open-source package

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.

Both the BSD `reportlab` package and commercial `rlextra` PLUS run in-process in the caller's Python process and write PDFs locally; ReportLab does not receive the documents in that path. An evaluation build/licence file can add a nag line or restricted functionality, which is a licensing artefact, not a data transfer.

ReportLab separately sells hosted solutions, which are not this in-process library and are not represented as an edition here.

What it does

ReportLab is a long-established Python toolkit for building PDFs programmatically. The current open-source release is 5.0.1 (20 August 2026), requires Python >=3.9 and <4, is BSD-licensed and ships a py3-none-any wheel; optional extras cover accel, pycairo, bidi and shaping, while the base install brings Pillow and charset-normalizer.

It offers a low-level drawing canvas for exact text/vector/image placement and a higher-level flowable framework for paragraphs, tables and charts across pages, with font/image/barcode/chart/form-field support, outlines and internal links. The open-source toolkit can apply StandardEncryption with user/owner passwords and print/modify/copy/annotate permissions to PDFs it generates, and can merge documents it builds; it is a generator, not an editor of arbitrary existing PDFs.

ReportLab PLUS is a separate commercial package (`rlextra`) that adds RML templating, PageCatcher page reuse, Diagra and, in PLUS 4+, PDF auto-tagging/tagged output. The open-source package alone does not provide the PLUS auto-tagging workflow, an accessibility validator or semantic remediation.

Best for

Python teams that need to generate reports, invoices, statements or labels at volume and want a permissively licensed, in-process toolkit they can vendor into closed-source software; teams needing RML templating, PageCatcher or PLUS auto-tagging should evaluate the separate commercial package.

Worth knowing

The free BSD toolkit and the commercial ReportLab PLUS are different products with different licences: the `reportlab` package is free/BSD, while `rlextra` PLUS is proprietary and priced by pages of PDF output per month. PLUS pricing, including the current GBP 1,728/year entry for up to 30,000 pages/month (double for financial services, with support/card terms), is not a price for the open-source package and is not put in priceFromGbp.

The toolkit can encrypt PDFs it generates via StandardEncryption, with user/owner passwords and print/modify/copy/annotate permission flags, but this protects newly generated files and does not redact content, remove existing sensitive data, or add protection to an arbitrary pre-existing PDF. Accessibility auto-tagging/tagged output is documented for commercial PLUS 4+ (`tagged=1`/RML), not for the BSD package alone; PLUS auto-tagging and a passing accessibility check are not equivalent to semantic/legal accessibility remediation, and no validator is claimed.

The open-source toolkit can generate ordinary PDFs but does not validate accessibility. A nag line and restricted functionality apply to unpaid evaluation/licence-file states, not as a universal free-tier watermark; the terms say ReportLab may change this restriction.

The packages run in-process with a library interface only: there is no hosted API or CLI edition, and ReportLab's separately sold hosted solutions are not this record. The corporate/legal owner is left null because current ReportLab pages conflict between ReportLab Inc. and ReportLab Europe Ltd.; no entity is invented.

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
Self-hosted
Open source
Yes
Self-hostable
Yes
Licence
Split by product.

Split by product. The open-source ReportLab PDF Toolkit (the `reportlab` package on PyPI) is BSD-licensed; version 5.0.1 requires Python >=3.9 and <4 and publishes a py3-none-any wheel.

It is free to use and redistribute subject to the BSD notice/disclaimer/no-endorsement terms. ReportLab PLUS (the separate commercial `rlextra` package) is proprietary, sold under ReportLab's standard terms as an annual or perpetual licence priced by pages of PDF output per month; the current GBP 1,728/year entry for up to 30,000 pages/month is PLUS pricing, not a price for the open-source package, and remains in internal notes only.

PLUS is also where RML templating, PageCatcher and auto-tagging live.

Redaction
No redaction feature
Programmatic access
Embeddable library
Last availability check
Responded in 874 ms 21 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.

https://www.reportlab.com/

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.

  • “ReportLab describes the open-source ReportLab PDF Toolkit as the engine for ReportLab PLUS, containing most but not all of the building blocks.”

    Reported by the vendor Read 16 October 2026

    The current introduction still separates the open-source library from ReportLab's commercial software and describes the toolkit as the engine for PLUS with most but not all of the building blocks. Because the old wording was assembled from adjacent table rows rather than a single quotation, it is downgraded from verified to reported and paraphrased.

    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-read the current user-guide introduction on 2026-10-16. The old claim was a synthetic assembled quotation from a comparison table; this version is a paraphrase without quotation marks.

    What this hash proves, and what it does not

  • “Every page of output will bear a nag line stating that this is an unpaid evaluation copy.”

    Reported by the vendor Read 16 October 2026

    The nag line is current evaluation/licensing behaviour, not a universal free-tier watermark: evaluation use requires registration, and the terms say purchased software is delivered with a Licence File and that in the absence of a suitable Licence File the software offers restricted functionality. ReportLab reserves the right to change the restriction.

    Marked reported because the claim is vendor terms with those conditions, not an independently tested universal output guarantee.

    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-read the current standard terms dated 25 September 2026. The sentence is present in the evaluation-licence clause.

    What this hash proves, and what it does not

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.

Visit ReportLab Report a problem

Related reading

How this record was put together

Editorial review.
No editor has signed this record off. That is not the same as nothing having been checked, and the lines below say what has.
Source reading.
2 claims taken from the vendor's own pages, read between 16 October 2026 and 16 October 2026.
Website availability.
The vendor's site was last checked on 21 October 2026.
Behaviour testing.
We ran this ourselves. The file handling was watched directly.

Sources: https://pypi.org/project/reportlab/ (5.0.1, 20 Aug 2026, Python >=3.9,<4, BSD, py3-none-any, extras accel/pycairo/bidi/shaping); https://docs.reportlab.com/reportlab/userguide/ch1_intro/ (toolkit/PLUS split); https://docs.reportlab.com/reportlab/userguide/ch4_pdffeatures/ (StandardEncryption/passwords/permissions for generated PDFs); https://docs.reportlab.com/pdf-accessibility/ (PLUS 4 auto-tagging/tagged=1; no validator); https://www.reportlab.com/pricing/ (PLUS GBP 1,728/year up to 30,000 pages/month, financial double; valid/reviewed 1 October); https://www.reportlab.com/about/licence-terms/ (evaluation nag line/licence file, 25 Sep 2026); https://www.reportlab.com/software/downloads/; read 2026-10-16.