EVERYTHING XIAOMI
Get listed

WeasyPrint

WeasyPrint is free, open-source software for web developers who need to create PDF documents from HTML pages.

Place
#5 of 31
Score
6.9
WeasyPrint's website

What WeasyPrint is

WeasyPrint is free, open-source software for web developers who need to create PDF documents from HTML pages. Its Python library can render an HTML object to a PDF file with HTML.write_pdf(), while its command-line interface supports PDF options including PDF/A, PDF/UA, and PDF/X variants. Inputs include HTML, CSS, local files, URLs, file objects, HTML strings, raster images, and SVG. The maker’s sample documents include reports, invoices, tickets, books, letters, and posters. Documentation provides installation instructions for Linux, macOS, and Windows and describes use as a Python library. Community-maintained Docker images and an AWS Lambda layer are also listed, and WeasyPrint supports self-hosted deployment and fillable form creation. The default HTTP client does not support cookies or authentication, though a custom URL fetcher can be used. Documentation warns that untrusted HTML or CSS may cause security problems. Version 70.0 requires Python 3.10 or later and Pango 1.44 or later, among other dependencies. Kozea created and develops WeasyPrint; CourtBouillon offers professional assistance with use, configuration, integration, bug fixes, new features, and templating.

Good

  • Free and open source.
  • Supports PDF/A, PDF/UA, and PDF/X options.
  • Accepts HTML, CSS, images, and SVG inputs.
  • Available for Linux, macOS, and Windows.
  • Supports fillable form creation.

Watch out

  • Default HTTP client does not support cookies or authentication.
  • Untrusted HTML or CSS may cause security problems.
  • Version 70.0 requires Python 3.10 or later and Pango 1.44 or later.

Who it suits

WeasyPrint suits web developers who need to generate PDFs from HTML and related inputs. It may also suit teams that want a Python library, command-line options, or self-hosted deployment.

Verdict

WeasyPrint offers several ways to turn HTML-based content into PDFs, with platform installation guidance and multiple deployment options. Its HTTP and security caveats matter when handling authenticated resources or untrusted input.

Plans and prices

From WeasyPrint's own pricing page, checked 7 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Free and open sourceFreeFree and open source software
Basic consulting€150 a year1 topic per month · Reply within 1 working day · Mail only · Not available in Canada and USA · Annual billing; prices exclude taxes
Essential consulting€350 a year3 topics per month · Reply within 1 working day · Mail and 30-minute video call per topic · Not available in Canada and USA · Annual billing; prices exclude taxes
Premium consulting€550 a year5 topics per month · Reply within 1 working day · Mail and 30-minute video call per topic · Not available in Canada and USA · Annual billing; prices exclude taxes

The facts

Each one read from WeasyPrint's own pages, with the date it was checked.

What it does

Creator and maintainer
WeasyPrint was created and developed by Kozea, while CourtBouillon provides professional support, maintenance, and community management.checked 7 Oct 2026
Dependencies
WeasyPrint 70.0 requires Python 3.10 or later and Pango 1.44 or later, among other dependencies.checked 7 Oct 2026
Integrations
The documentation describes use as a Python library and lists community-maintained Docker images and an AWS Lambda layer.checked 7 Oct 2026
Intended users
The maker describes WeasyPrint as a solution for web developers and shows document examples including statistical reports and invoices.checked 7 Oct 2026
Notable limit
The default HTTP client does not support cookies or authentication, though a custom URL fetcher can be used.checked 7 Oct 2026
Output examples
The maker shows reports, invoices, tickets, books, letters, and posters as sample documents.checked 7 Oct 2026
PDF options
The command-line interface supports PDF variants including PDF/A, PDF/UA, and PDF/X options.checked 7 Oct 2026
Purpose
WeasyPrint is free and open source software that helps web developers create PDF documents from HTML pages.checked 7 Oct 2026
Python API
The Python library can render an HTML object to a PDF file with HTML.write_pdf().checked 7 Oct 2026
Security
The documentation warns that using WeasyPrint with untrusted HTML or CSS may cause security problems.checked 7 Oct 2026
Support
CourtBouillon offers professional assistance with WeasyPrint use, configuration, integration, bug fixes, new features, and templating.checked 7 Oct 2026

Where it runs

Platform support
The documentation gives installation instructions for Linux, macOS, and Windows.checked 7 Oct 2026
The full review of WeasyPrint

WeasyPrint is a free, open-source PDF engine for developers who already work with HTML, CSS, and Python. It is best suited to teams that want document generation inside their own applications or infrastructure, rather than a hosted conversion service. The trade-off is operational: you must manage native dependencies, protect the rendering boundary, and handle authenticated resources yourself.

Overview

WeasyPrint converts web-oriented content into documents including reports, invoices, tickets, books, letters, and posters. Its input range covers HTML strings, file objects, local files, URLs, raster images, and SVG, while fillable form creation extends it beyond basic page export. This breadth makes it practical for templated business documents as well as more presentation-focused output.

It is deployed as software rather than consumed as a managed service. The default HTTP client cannot send cookies or authentication credentials, so protected assets require a custom URL fetcher and the integration work that entails. Rendering untrusted HTML or CSS can introduce security problems; applications accepting user content need strict controls and an appropriate isolation strategy.

Key features

Python and command-line generation

The Python API renders an HTML object with HTML.write_pdf(), fitting naturally into Python-based reporting, billing, and document pipelines. A command-line interface provides PDF/A, PDF/UA, and PDF/X variants, useful when archival, accessibility, or print-oriented conformance is part of the deliverable. Those options help specialist workflows, but they do not remove the need to validate the resulting documents against your own requirements.

Inputs, forms, and deployment

Support for URLs, local files, file objects, images, SVG, and raw HTML gives developers flexibility in how templates and assets are assembled. Fillable forms are supported when the output must remain interactive. Documentation covers Linux, macOS, and Windows installation, and the project can be used as a Python library or command-line component. Community-maintained Docker images and an AWS Lambda layer provide deployment starting points, though maintenance of those environments remains yours.

Runtime requirements

WeasyPrint 70.0 requires Python 3.10 or later and Pango 1.44 or later, alongside other dependencies. That is manageable for controlled development and server environments, but it can complicate upgrades, packaging, and minimal production images compared with a fully hosted API.

Pricing

The core software is free and open source at free. There are no per-document charges in the software plan, making it suitable for teams that can provide their own infrastructure and engineering time.

Optional professional assistance is sold annually. Basic consulting costs €150 a year (excluding taxes) for one topic per month, mail support, and a reply within one working day; it is unavailable in Canada and the USA. Essential is €350 a year for three topics monthly, mail plus a 30-minute video call per topic, with the same response target and regional restriction. Premium is €550 a year for five topics monthly and the same mail/video format. These plans cover help with use, configuration, integration, bug fixes, new features, and templating; they are consulting allowances, not hosted conversion quotas.

Platforms

WeasyPrint is offered for API and self-hosted deployments across Linux, macOS, and Windows. That combination suits teams standardizing on their own servers or applications, while the documented Docker and Lambda options can support containerized or serverless architectures. Platform portability still depends on satisfying Python, Pango, and related system requirements.

Who it's for

Choose WeasyPrint when your developers can supply HTML/CSS templates, need a Python-callable renderer, and want control over deployment, data handling, and PDF variants. It is particularly well matched to generated reports, invoices, tickets, and similar structured documents. Look elsewhere if you need turnkey hosting, built-in authenticated fetching without custom code, or a workflow that routinely renders untrusted submissions without a robust security boundary.

Pros and cons

Pros

  • No software license fee: the open-source core costs 0.00 USD, avoiding per-document pricing in self-hosted workloads.
  • Developer-oriented interfaces: Python's HTML.write_pdf() and the command line cover both embedded and batch generation.
  • Broad document coverage: multiple input types, fillable forms, and PDF/A, PDF/UA, and PDF/X output support varied production needs.
  • Deployment choice: documented operating-system installs plus community Docker images and an AWS Lambda layer support different infrastructure models.

Cons

  • Dependency overhead: Python 3.10+, Pango 1.44+, and other packages add packaging and maintenance work.
  • Authenticated fetching is not automatic: cookies and credentials require a custom URL fetcher.
  • Security demands attention: untrusted HTML or CSS can create security problems.
  • No managed service included: hosting, scaling, monitoring, and operational support are your responsibility unless you separately buy consulting.

Alternatives

For a wider category view, see PDF Creation Software.

  • PDF24 Compare PDF is a free cross-platform option with no limits, registration, or time restrictions, better for users wanting a ready-made application rather than a developer library.
  • Carbone offers a freemium cloud plan and API coverage, a better direction when hosted document allowances and templates matter.
  • ReportLab provides an open-source PDF library free for commercial use, worth considering when direct programmatic PDF construction is preferable to HTML/CSS rendering.
  • DocRaptor is a hosted API with a 5-document monthly free tier, suited to teams that want managed infrastructure and accept usage-based plans.
  • Anvil PDF Generation API targets web/API workflows with a free UI tier and starter credits, rather than self-hosted rendering.
  • CraftMyPDF combines templates and a REST API, useful when a template-centric service is more convenient than maintaining WeasyPrint dependencies.
  • HTMLPDF.dev sells hosted monthly PDF quotas, a fit for teams seeking a straightforward API with defined volumes.
  • PDF4me Merge & Split offers a free limited API tier and one-time call packs, aimed at API users who need metered document operations.

Verdict

WeasyPrint is a strong choice for developers building HTML-to-PDF generation into Python applications or self-managed services, especially when open-source licensing and specialized PDF variants matter. Its main reason to choose it is control over inputs, code, and deployment without software fees. Look elsewhere for a hosted, low-maintenance service or for workflows that cannot safely manage untrusted content and authenticated asset retrieval.

Alternatives to WeasyPrint

All alternatives
  1. 1MuPDF logo

    MuPDF

    Free planAndroidiOSWebLinux
    7.7From $299 a month
  2. 2

    ComPDFKit PDF SDK

    Free planAndroidiOSWebAPI
    7.4From $240 a year
  3. 3

    Spire.PDF

    Free planAndroidiOSWebAPI
    7.3$999 one-time
  4. 4Aspose.PDF logo

    Aspose.PDF

    AndroidWebAPILinux
    6.9$1,199 one-time
  5. 5

    PDFsharp

    Free planLinuxmacOSSelf-hostedWindows
    6.8$499 one-time
  6. 6

    Syncfusion PDF Library

    AndroidiOSWebAPI
    6.8From $1,199 a year