Need help with pdfmake?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

9.6K Stars 1.7K Forks Other 1.4K Commits 252 Opened issues


Client/server side PDF printing in pure JavaScript

Services available


Need anything else?

Contributors list

pdfmake Node.js CI GitHub npm Bower Packagist CDNJS

PDF document generation library for server-side and client-side in pure JavaScript.

Check out the playground and examples.

This is unstable master branch for version 0.3.x, for stable use version 0.2.x see branch 0.2 or older version 0.1.x see branch 0.1.


  • line-wrapping,
  • text-alignments (left, right, centered, justified),
  • numbered and bulleted lists,
  • tables and columns
    • auto/fixed/star-sized widths,
    • col-spans and row-spans,
    • headers automatically repeated in case of a page-break,
  • images and vector graphics,
  • convenient styling and style inheritance,
  • page headers and footers:
    • static or dynamic content,
    • access to current page number and page count,
  • background-layer,
  • page dimensions and orientations,
  • margins,
  • custom page breaks,
  • font embedding,
  • support for complex, multi-level (nested) structures,
  • table of contents,
  • helper methods for opening/printing/downloading the generated PDF,
  • setting of PDF metadata (e.g. author, subject).


Documentation URL:

Building from sources

using npm:

git clone
cd pdfmake
npm install
npm run build

using yarn:

git clone
cd pdfmake
yarn run build




pdfmake is based on a truly amazing library pdfkit (credits to @devongovett).

Thanks to all contributors.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.