The ORMs themselves are all free and open source. The only place money enters is Prisma's optional managed platform. So this is really a design decision with a small pricing footnote.
| What it is | Bundle size | Money enters at | |
|---|---|---|---|
| Drizzle | SQL-like, schema-first, edge-ready | ~50 kB | never (fully free) |
| Kysely | pure type-safe query builder, not an ORM | tiny | never |
| Prisma | declarative schema, code-gen client, went Rust-free in v7 | ~500 kB+ client | optional: Prisma Postgres / Accelerate |
Drizzle has overtaken Prisma in new-project adoption. It's lighter, the generated SQL is readable, it runs in edge runtimes without fuss, and there's no separate code-generation step. For most new TypeScript projects in 2026 it's the default recommendation.
Kysely isn't an ORM at all — it's a query builder that gives you full type safety over SQL you write yourself. If you think in SQL and want types without abstraction, this is the one. Smallest footprint, no magic.
Prisma is still the most "batteries included": a dedicated schema language, the widest database support (including MongoDB), Prisma Studio for browsing data, and Pulse for real-time change streams. v7 dropped the Rust engine and got meaningfully better at the edge. Its managed platform, Prisma Postgres, has a free tier (100k operations/month, 500 MB) then Starter at $10/month (1M operations, 10 GB) and Pro at $49/month (10M operations, 50 GB). You only pay if you adopt their hosted database or the Accelerate connection-pooling/caching layer — the ORM works fine against any Postgres without it.
New project, want the modern default: Drizzle. Live in SQL: Kysely. Want a schema language, visual data browser and the widest DB support: Prisma — and its platform is optional.