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

3KB PDF tool stuns developers; fans cheer simplicity, critics cry “no fonts”

TLDR: TinyPDF is a tiny 3KB tool for making simple PDFs by cutting features like custom fonts and forms. The community split: minimalists love the speed, while critics warn it’s “Latin-only” and say most people will still use bigger tools like jsPDF; the name confusion and markdown jokes added fuel.

TinyPDF just dropped on Show HN, promising a 3KB pocket-sized way to make PDF files, and the comments went full popcorn mode. Minimalists are swooning over the “no dependencies” vibe, with IntelliAvatar blurting “3KB is wild” while the creator admits they chopped out custom fonts, forms, encryption, compression, and fancy images to stick to the 95% use case: simple text, lines, and JPEGs. It’s basically the PDF version of a capsule wardrobe—only what you’ll actually wear.

Then the clash: the practicality crowd vs the tiny-tool romantics. anilgulecha shrugs, “cool exercise, but folks will still grab jsPDF,” and hilariously asks for markdown-to-PDF—while TinyPDF literally ships that feature out of the box. Cue the thread doing a collective spit-take. Meanwhile, croisillon side-eyes the name: “Is it related to the other ten TinyPDFs?” Users joked we’re playing TinyPDF Bingo now.

The spiciest take comes from wg0: no custom fonts means Latin-only? Global devs called it the “North America-only edition” of PDFs. And andai ranted that big libraries still make you manually lay out text: “8,000 lines and I still have to draw the rectangles?!” The meme of the day: “PDF keto diet”—all the weight gone, but do you miss the carbs?

Key Points

  • TinyPDF is a 3.3 KB PDF generation library with under 400 lines of code and zero dependencies.
  • It focuses on common tasks: text (Helvetica), shapes, JPEG images, multi-page documents, and markdown-to-PDF.
  • Features intentionally omitted include custom fonts, PNG/GIF/SVG, vector graphics, forms, encryption, compression, and HTML-to-PDF.
  • API includes pdf(), doc.page(), doc.build(), ctx.text(), ctx.rect(), ctx.line(), ctx.image(), measureText(), and markdown().
  • For advanced features, the article recommends using jsPDF or pdf-lib.

Hottest takes

“3KB is wild” — IntelliAvatar
“for most use cases - people will continue reaching for jsPDF” — anilgulecha
“So essentially - it only works with Latin script?” — wg0
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.