WeasyPrint
Open-source Python library that turns HTML and CSS into PDF documents.
Jobs Convert
Since 2011
Operated by CourtBouillon
Opens the vendor's own site.
Jobs covered
Open a task to see exactly what the vendor documentation supports.
Convert
Browse all convert toolsconverting HTML and CSS to PDF with WeasyPrint's Python library or command-line interface: paginated CSS layout, PDF/A and PDF/UA variants, tagged PDF output for accessibility, PDF forms, attachments, metadata and related document options, plus the CLI's stylesheet/attachment/PDF-variant controls. The scope records documented HTML/CSS-to-PDF generation and the supported PDF variant/tagging options, and explicitly excludes JavaScript execution/browser-engine emulation, editing or reflowing existing PDFs, text extraction, OCR, redaction, digital signatures, semantic/legal accessibility certification and any hosted-service claim
Where your files are processed
No server involved
A Python package and its command line, running in your own process. There is no service and no account, so templates and data never leave the machine generating the document. 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.
A Python package and command-line program running in the caller's own process/machine, with no WeasyPrint service or account. HTML, CSS and data are processed locally; URL fetching for external stylesheets/images is the caller's configuration and follows the caller's network access.
Native Pango and Python dependencies must be installed locally.
What it does
WeasyPrint renders HTML and CSS into PDF from a Python library or command-line program, which makes it the open-source answer to the same job the commercial typesetting engines do: write a template in HTML/CSS and get a printable document out - invoices, statements, tickets, reports, book interiors. It implements a paginated CSS layout engine rather than embedding a full general-purpose rendering engine, and is free software under BSD-3-Clause.
The current release is 70.0 (8 September 2026), requiring Python >=3.10, Pango >=1.44 and Python dependencies including pydyf, cffi, tinyhtml5, tinycss2, cssselect2, Pyphen, Pillow and fonttools. It generates PDF variants including PDF/A and PDF/UA modes, can tag PDFs for accessibility, add attachments/metadata/forms and drive output from the CLI.
It is not a general-purpose renderer: JavaScript and renderer-specific behaviour are outside its model, and it does not edit existing PDFs, extract text, OCR, redact, sign or provide legal accessibility certification. WeasyPrint was created and developed by Kozea; professional support, maintenance and community management are provided by CourtBouillon.
Best for
Python teams that need to generate PDFs from HTML they already have, without paying per document or sending anything to a service, and anyone producing repetitive business documents where CSS is a better layout language than a PDF drawing API. It is the strongest open-source option in this index for template-driven generation.
Worth knowing
It is not a general-purpose renderer and does not pretend to be: it implements the parts of CSS that make sense for paged output, and a stylesheet that relies on JavaScript or on renderer-specific behaviour will not render the way you expect - the project's own samples exist partly to show what the print-oriented subset can do. It also depends on native libraries (Pango >=1.44) rather than being pure Python, so installation is heavier than pip alone on some platforms, and that is a deployment consideration in containers.
The project is small and the commercial support around it is per-month consulting rather than an SLA product, with published support tiers that are explicitly unavailable in Canada and the United States; a team that needs a support contract rather than occasional help should read those terms carefully. The success figures on the site - millions of downloads and thousands of stars - are popularity, not a measure of how well it renders a difficult document.
It is self-hosted software only: there is no WeasyPrint hosted service, account or hosted edition.
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
- Self-hosted
- Website
- weasyprint.org
- Requires an account
- Not applicable
- Watermark on the free tier
- Not verified
- Maximum file size
- Not verified
- Batch processing
- Yes
- Data residency
- Self-hosted
- Open source
- Yes
- Self-hostable
- Yes
- Licence
-
BSD-3-Clause.
BSD-3-Clause. WeasyPrint is free software under a BSD licence; the current PyPI package is 70.0, requires Python >=3.10, and depends on pydyf, cffi, tinyhtml5, tinycss2, cssselect2, Pyphen, Pillow and fonttools, plus the system Pango >=1.44 library.
It was created and developed by Kozea; professional support, maintenance and community management are provided by CourtBouillon, which is recorded as the current maintainer. No account or paid software edition is required.
- Redaction
- No redaction feature
- Programmatic access
- Embeddable library · Command line
- Last availability check
- Responded in 643 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.
“WeasyPrint is a smart solution helping web developers to create PDF documents. It's free and open source software that can be easily plugged to your applications and websites and turns simple HTML pages into gorgeous: Statistical reports, Invoices, Tickets, html print”
What that does not establish
Recorded as `none` on absence, and for the same structural reason as Prince: this is a generator. It creates a PDF from HTML and CSS and never opens an existing one, so there is no document for a redaction feature to act on.
What it does not establish: that a document produced by WeasyPrint is safe to share. A template renders whatever data it is given, and a generator is precisely the tool that will print a field you did not mean to include.
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.
-
“WeasyPrint is a smart solution helping web developers to create PDF documents.”
Reported by the vendor Read 16 October 2026
Present as vendor marketing; downgraded from verified to reported rather than presenting 'web developers' as a platform or audience metric. The product is a self-hosted Python library/CLI, not a web service.
Standing: Not re-read against the live source
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- f798b20d097136b9e2f9f9f145b152fe607d41898ddfba4e9c4705fb7657424a
How we checked
Re-read the current project documentation/site on 2026-10-16. The sentence is present but is marketing copy about web developers, not an independently measured capability claim.
-
“15 years of experience”
Reported by the vendor Read 16 October 2026
Unsupported as a precise factual claim and too vague to verify. Downgraded to reported rather than treating it as evidence of product age or quality.
Standing: Not re-read against the live source
Check it yourself: the source, the SHA-256, and how we checked
- From
- the text a browser renders
- SHA-256
- f798b20d097136b9e2f9f9f145b152fe607d41898ddfba4e9c4705fb7657424a
How we checked
Re-read the current site on 2026-10-16. The phrase is a rounded marketing figure; no launch announcement or dated experience measurement was found.
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
- 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.