Skip to content

A modern PDF library for TypeScript. Parse, modify, and generate PDFs with a clean, intuitive API.

active 2026-01-112026-07-02 (UTC)

Partial coverage11,351 / 12,198 hourly files (93%) · 2 absent upstream · 845 failed, retryable2025-03-202026-08-10 (UTC)— sampled evenly across the window, so rankings and trends hold; absolute counts scale up.
Events
709
Pushes
77
Pull requests
15
Issues
12
Stars
518
Forks
21

Activity over time

Daily event counts in the loaded window

Line chart, 173 days from 2026-01-11 to 2026-07-02. Pushes: 77 total, peak 7 in a day. Pull requests: 15 total, peak 4 in a day. Issues: 12 total, peak 2 in a day. Comments: 32 total, peak 4 in a day. Stars: 518 total, peak 111 in a day.

  • Pushes
  • Pull requests
  • Issues
  • Comments
  • Stars

Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.

Top contributors

Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity

ContributorContributionsPushesPRsComments
Mythie98671310
github-actions[bot]171007
vercel[bot]7007
yusifaliyevpro5004
Copilot3000
MichaelDeBoey2001
ljagiello2010
dimfeld1000
ntedvs1010
lylest1001
artbot11001
grantsiemens1000
alexanderniebuhr1000
redsuperbat1000
HackbrettXXX1001

Recent activity

Latest issues, pull requests and releases

  • Issue#74grantsiemens2026-05-20 23:43
    Support abbreviated PDF stream filters such as /Fl for FlateDecode
  • Issue comment#71github-actions[bot]2026-05-17 23:48
    fix(writer): renumber objects densely on full save
  • Issue comment#57github-actions[bot]2026-03-21 02:50
    Fix PDF loading failures from trailing null padding and PdfName cache eviction
  • Pull request#57Mythie2026-03-21 02:48
  • Issue comment#52github-actions[bot]2026-03-11 08:10
    perf(writer): replace recursive reachable-ref walk with iterative stack
  • Pull request#51Mythie2026-03-11 05:29
  • Issue comment#49vercel[bot]2026-03-11 02:25
    chore: update benchmarks and add @cantoo/pdf-lib for comparison
  • Issue comment#48Mythie2026-03-11 02:23
    PDF.load() stack overflows on large xref/object-stream sets due to Math.max(...xref.keys()) in ObjectRegistry
  • Issue comment#47vercel[bot]2026-03-10 11:09
    feat(forms): support CID fonts in form field appearances
  • Issue comment#44github-actions[bot]2026-03-05 11:22
    fix: install custom crypto engine before pkijs parseInternalValues
  • Issue comment#44vercel[bot]2026-03-05 11:21
    fix: install custom crypto engine before pkijs parseInternalValues
  • Issue comment#42Mythie2026-03-05 04:27
    Library doesn't preserve PDF outlines (Table of Contents)
  • Issue#41Mythie2026-03-03 22:15
    asn1js is not declared as a project dependency
  • Issue comment#40yusifaliyevpro2026-03-01 08:25
    crypto.getRandomValues must be defined
  • Issue comment#40Mythie2026-03-01 02:51
    crypto.getRandomValues must be defined
  • Issue#40yusifaliyevpro2026-02-28 15:25
    crypto.getRandomValues must be defined
  • Pull request#39Mythie2026-02-28 09:52
  • Issue#37redsuperbat2026-02-26 13:16
    PDF:s which are only scanned images parses as incorrect number of pages and gets stuck in a infinite loop blocking the main thread
  • Releasegithub-actions[bot]2026-02-23 22:29
    v0.2.10
  • Pull request#36Mythie2026-02-23 21:53
  • Issue comment#36github-actions[bot]2026-02-23 21:19
    fix(signatures): ensure crypto engine is always installed before use
  • Pull request#36Mythie2026-02-23 21:18
  • Pull request#34Mythie2026-02-23 03:21
  • Issue comment#34github-actions[bot]2026-02-23 03:12
    perf: reduce allocations and copies in load-modify-save path
  • Pull request#34Mythie2026-02-23 03:11

Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 518 stars here means stars gained during the window, not the repo's star count.