SQL-like TypeScript ORM

Drizzle ORM

An open-source TypeScript ORM and schema toolkit with SQL-like and relational query APIs.

Editorial verdict

Choose Drizzle ORM when SQL visibility, TypeScript schema definitions, and a light typed layer are more valuable than a generated client or entity framework. Do not choose it to avoid understanding the target SQL dialect and migration behavior.1

Best for

  • TypeScript teams that want SQL-shaped queries with static typing
  • Applications spanning supported PostgreSQL, MySQL, or SQLite drivers and runtimes
  • Teams prepared to review generated SQL migrations and own database-specific behavior
12

Not ideal for

  • Teams seeking a high-level generated client and opinionated end-to-end data workflow
  • Projects that do not want schema declarations in TypeScript
  • Teams unwilling to validate driver, dialect, migration, and runtime compatibility
1
Main trade-off

Drizzle stays close to SQL and keeps its runtime layer small, but application teams retain more responsibility for dialect behavior, query design, migration review, driver selection, and database operations.12

Product boundary

Whether the application should use a TypeScript schema and SQL-like typed ORM while retaining direct awareness of SQL and database dialects.

Drizzle ORM and Drizzle Kit are application tooling, not a database or managed persistence service. Runtime, driver, database, connection, migration execution, and hosting costs remain separate.12

For: TypeScript teams comfortable owning SQL, database drivers, schema details, and migration review

  • The application requires an unsupported database feature, driver, or runtime.
  • The team prefers database-first generated types rather than TypeScript-first schema declarations.
  • Migration conflicts or custom data migrations need a workflow outside Drizzle Kit.
  • A generated high-level client would reduce more work than SQL proximity.

Why teams consider Drizzle ORM

  • SQL-like typed queriesDrizzle exposes SQL-like and relational APIs based on TypeScript schema declarations.12
  • Driver and runtime breadthThe project documents support across PostgreSQL, MySQL, SQLite, serverless drivers, and multiple JavaScript runtimes.12
  • Opt-in migration toolkitDrizzle Kit can generate SQL migrations or apply schema changes through documented workflows.12

Pricing

Drizzle ORM is open-source under Apache 2.0 with no separate software license fee. Database, driver, hosting, CI, migration, and any separately offered commercial service costs are outside the ORM license.3

Library adoption

Open-source Drizzle ORM

No separate ORM software license fee; infrastructure and operating costs belong to the selected database and application environment.3

License
Apache License 2.03
Primary cost
Database service, runtime, migration process, and engineering ownership3
Pricing checked View official pricing

Drizzle ORM vs alternatives

Prisma ORM

Choose when
Choose it when a declarative Prisma schema and generated client provide a more valuable integrated workflow.
Compared with Drizzle ORM
The application accepts more generated-code and connector abstraction.4

Kysely

Choose when
Choose it when the team wants an even thinner typed query builder and will own schema types and migration integration.
Compared with Drizzle ORM
It supplies less relational ORM and schema-tooling surface.5

TypeORM

Choose when
Choose it when entity classes, repositories, decorators, and Data Mapper or Active Record patterns are central.
Compared with Drizzle ORM
The abstraction relies more heavily on runtime metadata and entity behavior.6

Resources and sources

Official product, policy, and pricing

  • Drizzle ORM overview
    Open
  • Drizzle ORM migrations
    Open
  • Drizzle ORM Apache 2.0 license
    Open
  1. 1
    Drizzle ORM overview

    Drizzle Team · Accessed Official

  2. 2
    Drizzle ORM migrations

    Drizzle Team · Accessed Official

  3. 3
    Drizzle ORM Apache 2.0 license

    Drizzle Team · Accessed Official

  4. 4
    Prisma ORM overview

    Prisma · Accessed Official

  5. 5
    Kysely introduction

    Kysely · Accessed Official

  6. 6
    TypeORM getting started

    TypeORM · Accessed Official