NPM Download Trends
Which npm packages are developers installing the most? We queried the npm downloads API for 52 popular packages and found that utility libraries dominate: chalk leads with 379M weekly downloads, followed by commander (321M) and ajv (236M). Framework choices reveal interesting trends: Hono (33M) has overtaken Fastify (5.5M) and Koa (6M), while Express (84M) remains the undisputed leader.
Weekly Download Rankings
| # | Package | Weekly Downloads | Category | Description |
|---|---|---|---|---|
| 1 | chalk | 379,842,768 | CLI | Terminal string styling |
| 2 | commander | 321,759,345 | CLI | CLI argument parsing |
| 3 | ajv | 236,415,047 | Validation | JSON Schema validator |
| 4 | uuid | 220,409,793 | Utility | UUID generation (v1, v4, v7) |
| 5 | typescript | 153,650,048 | Language | TypeScript compiler |
| 6 | zod | 133,003,378 | Validation | TypeScript-first schema validation |
| 7 | nanoid | 131,153,197 | Utility | Tiny unique ID generator |
| 8 | lodash | 125,235,251 | Utility | Utility library |
| 9 | dotenv | 109,293,563 | Config | Environment variable loader |
| 10 | eslint | 107,002,958 | Linting | JavaScript linter |
| 11 | react | 104,877,716 | Framework | UI component library |
| 12 | axios | 93,115,906 | HTTP | Promise-based HTTP client |
| 13 | vite | 85,308,336 | Build | Next-gen frontend build tool |
| 14 | express | 84,716,349 | Framework | Web application framework |
| 15 | prettier | 76,466,385 | Formatting | Code formatter |
| 16 | ora | 58,481,350 | CLI | Terminal spinner |
| 17 | sharp | 51,162,749 | Image | High-perf image processing |
| 18 | playwright | 45,721,776 | Testing | Browser automation |
| 19 | cors | 44,940,839 | Middleware | CORS middleware for Express |
| 20 | webpack | 41,177,475 | Build | Module bundler |
| 21 | dayjs | 40,509,151 | Date | Lightweight date library |
| 22 | vitest | 40,245,758 | Testing | Vite-native test framework |
| 23 | jest | 40,068,301 | Testing | JavaScript testing framework |
| 24 | jsonwebtoken | 36,416,534 | Auth | JWT implementation |
| 25 | next | 35,532,787 | Framework | React framework |
| 26 | marked | 33,205,748 | Parsing | Markdown parser |
| 27 | hono | 33,135,919 | Framework | Ultrafast web framework |
| 28 | pino | 24,584,543 | Logging | Low-overhead JSON logger |
| 29 | pg | 21,240,921 | Database | PostgreSQL client |
| 30 | winston | 20,013,568 | Logging | Multi-transport logger |
| 31 | highlight.js | 18,576,900 | Syntax | Syntax highlighter |
| 32 | cheerio | 17,758,187 | Parsing | HTML parser (jQuery-like) |
| 33 | joi | 16,795,369 | Validation | Object schema validation |
| 34 | ioredis | 15,017,107 | Database | Redis client |
| 35 | mocha | 13,222,090 | Testing | Test framework |
| 36 | socket.io | 11,692,195 | Realtime | WebSocket library |
| 37 | prisma | 9,310,094 | ORM | Next-gen TypeScript ORM |
| 38 | morgan | 9,272,746 | Middleware | HTTP request logger |
| 39 | helmet | 8,467,797 | Security | Security headers middleware |
| 40 | puppeteer | 8,332,723 | Testing | Chrome headless browser |
| 41 | mysql2 | 8,135,037 | Database | MySQL client |
| 42 | redis | 7,920,051 | Database | Redis client (official) |
| 43 | bcryptjs | 7,663,393 | Auth | Bcrypt password hashing |
| 44 | drizzle-orm | 6,846,670 | ORM | TypeScript ORM |
| 45 | cypress | 6,595,917 | Testing | E2E testing framework |
| 46 | koa | 6,079,729 | Framework | Next-gen web framework |
| 47 | fastify | 5,558,382 | Framework | Fast web framework |
| 48 | mongoose | 4,456,168 | ORM | MongoDB ODM |
| 49 | bullmq | 3,971,935 | Queue | Redis-based job queue |
| 50 | knex | 3,542,516 | Database | SQL query builder |
| 51 | sequelize | 2,522,389 | ORM | Multi-dialect SQL ORM |
| 52 | bull | 1,387,153 | Queue | Redis-based job queue (legacy) |
Methodology
Data source: All download counts were fetched from the npm registry downloads API (api.npmjs.org/downloads/point/last-week/PACKAGE) on April 11, 2026.
- 52 packages were selected based on ecosystem importance across frameworks, utilities, databases, testing, and tooling
- Download counts represent the last 7-day period as reported by the npm CDN
- Counts include CI/CD pipeline installs, transitive dependencies, and mirror downloads
- Categories are manually assigned based on primary package function
Frequently Asked Questions
What is the most downloaded npm package?
As of April 2026, chalk is the most downloaded npm package with 379 million weekly downloads. It is a terminal string styling library used as a transitive dependency by nearly every CLI tool. Commander (321M) and ajv (236M) round out the top 3.
Why does chalk have more downloads than React or Express?
Chalk has 379M weekly downloads versus React's 104M because chalk is a transitive dependency of thousands of packages. Every CLI tool that colors terminal output likely depends on chalk. React is only installed by projects that explicitly use it. Transitive dependencies are counted each time they are installed.
How can I check the weekly downloads for any npm package?
Three methods: 1) Visit npmjs.com/package/PACKAGE_NAME, 2) Use the npm API: curl 'https://api.npmjs.org/downloads/point/last-week/PACKAGE', 3) Use npm-stat.com for historical charts. The npm API supports bulk queries with comma-separated package names.
Which web framework has the most npm downloads?
Express leads with 84M weekly downloads, followed by Next.js (35M), Hono (33M), Koa (6M), and Fastify (5.5M). Hono is the fastest-growing framework, having risen from near-zero to 33M weekly downloads in two years.
Are npm download counts accurate measures of package popularity?
No. CI/CD pipelines inflate counts, transitive dependencies get counted even when not directly chosen, mirrors may double-count, and npm does not deduplicate by user. Better indicators include GitHub stars, npm dependents count, and community survey data like the State of JS.
Free to use under CC BY 4.0 license. Cite this page when sharing.