Drizzle ORM
Lightweight TypeScript ORM with a SQL-like query builder. Drizzle is the fastest-growing ORM in the JS ecosystem — loved for its minimal overhead, SQL proximity, and serverless-first design.
Apache-2.0
TypeScript
Why Drizzle ORM?
You want SQL-like syntax with TypeScript types
Serverless and edge environments (lightweight bundle)
You find Prisma too heavy or magical
Signal Breakdown
What drives the Trust Score
Download Trend
Last 12 months
Tradeoffs & Caveats
Know before you commitYou need a mature ecosystem with many plugins (use Prisma)
Complex migration workflows (Prisma's tooling is better)
Non-TypeScript projects
Pricing
Free tier & paid plans
100% free, open-source (Apache-2.0)
Free & open-source
No paid tiers — purely open-source
Alternative Tools
Other options worth considering
Often Used Together
Complementary tools that pair well with Drizzle ORM
Learning Resources
Docs, videos, tutorials, and courses
Get Started
Repository and installation options
View on GitHub
github.com/drizzle-team/drizzle-orm
npm install drizzle-ormQuick Start
Copy and adapt to get going fast
import { drizzle } from 'drizzle-orm/postgres-js';
import postgres from 'postgres';
import { users } from './schema';
const client = postgres(process.env.DATABASE_URL);
const db = drizzle(client);
const result = await db.select().from(users).where(eq(users.active, true));
console.log(result);Code Examples
Common usage patterns
Define table schema
Type-safe schema definition
import { pgTable, serial, text, boolean, timestamp } from 'drizzle-orm/pg-core';
export const users = pgTable('users', {
id: serial('id').primaryKey(),
email: text('email').notNull().unique(),
name: text('name'),
active: boolean('active').default(true),
createdAt: timestamp('created_at').defaultNow(),
});Join query
SQL-like joins with full type safety
const result = await db
.select({ user: users, post: posts })
.from(users)
.innerJoin(posts, eq(posts.authorId, users.id))
.where(eq(users.active, true))
.orderBy(desc(posts.createdAt))
.limit(10);Community Notes
Real experiences from developers who've used this tool