Skip to content(if available)orjump to list(if available)

Show HN: TinyPDF – 3kb pdf library (70x smaller than jsPDF)

Show HN: TinyPDF – 3kb pdf library (70x smaller than jsPDF)

7 comments

·December 18, 2025

I needed to generate invoices in a Node.js app. jsPDF is 229KB. I only needed text, rectangles, lines, and JPEG images.

  So I wrote tinypdf: <400 lines of TypeScript, zero dependencies, 3.3KB minified+gzipped.

  What it does:
  - Text (Helvetica, colors, alignment)
  - Rectangles and lines
  - JPEG images
  - Multiple pages, custom sizes

  What it doesn't do:
  - Custom fonts, PNG/SVG, forms, encryption, HTML-to-PDF

  That's it. The 95% use case for invoices, receipts, reports, tickets, and labels.

  GitHub: https://github.com/Lulzx/tinypdf
  npm: npm install tinypdf

anilgulecha

Great exercize, but for most use cases - people will continue reaching for jsPDF.

I think if you have a markdown->PDF function included, where I can send in markdown and get PDF, that would solve quite many needs, and would be useful.

lulzx

I have added it!

IntelliAvatar

3KB is wild. What features did you intentionally leave out to get this small?

wonger_

Not the author, but generating PDFs is much, much simpler than parsing PDFs

lysace

Support for more than 7-bit ASCII characters. :)

croisillon

is it related to one of the other 10 products called TinyPDF?

esafak

Yes, obviously: it's a tiny PDF library.