On this page
Overview
Kysely is a type-safe SQL query builder for TypeScript. It tracks tables, columns, aliases, joins, and subqueries through the type system so developers can keep SQL concepts explicit while getting autocomplete and inferred result types.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Track tables, columns, and aliases through TypeScript types
SELECTs, joins, subqueries, and WITH clauses constrain which tables and columns are visible, while selected columns and aliases are reflected in the inferred result type.
Sources: [1]
Use one query-builder model across PostgreSQL, MySQL, MSSQL, and SQLite-family databases
The README provides getting-started paths for PostgreSQL, MySQL, Microsoft SQL Server, SQLite, PGlite, and more, and notes support for Node.js as well as Deno, Bun, Cloudflare Workers, and browsers.
Sources: [1]
Best fit
Fits TypeScript backends that prefer SQL-level control over heavier ORM abstractions
It is useful when joins and subqueries should remain explicit while compile-time checking and autocomplete reduce query mistakes. Escape hatches such as the sql template tag are available when static typing cannot express a query.
Sources: [1]
Before adoption
Version 0.29.6 requires Node 22 or newer and ships as an ES module
The 0.29.6 package metadata requires Node.js 22+ and publishes the package as ESM. When integrating with Next.js or another server framework, check the runtime baseline together with the selected database driver's requirements.
Sources: [2]
The query builder does not replace database connection and driver design
Kysely builds typed SQL, while connection pools and network access depend on the chosen dialect and driver. Serverless and edge deployments still need an explicit plan for connection limits, pooling, and transactions with the database provider.
Official sources
- [1]Kysely v0.29.6 README(2026-10-06)
- [2]Kysely v0.29.6 package metadata(2026-10-06)
- [3]Kysely v0.29.6 release(2026-10-06)
Supplemental curator note
It fits TypeScript backends that want SQL-level control rather than a heavier model abstraction. Check the Node/ESM baseline and choose dialect, driver, and connection-pool behavior for the deployment runtime.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/kysely-org/kysely.git - 2
Enter the repository
cd kysely - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
14,261 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 40
- Open PRs
- 39
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- typescript
- database
- postgresql
- mysql
- sqlite
- query-builder
- type-safe
- sql
- nodejs
- deno
- browser
- bun
- Stars
- 14,261
- Forks
- 449
- Watchers
- 28
- Open issues
- 142
- Contributors
- 159
- Owner type
- Organization
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Oct 5, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- ezBookkeeping5,710 Stars
3 shared tag(s)
Keep personal-finance data on a lightweight self-hosted service for NAS and Raspberry Pi
Go - Supabase111,098 Stars
2 shared tag(s) · 2 shared category(s) · Same language
Build on Postgres with integrated Auth, REST/GraphQL APIs, Realtime, Storage, and Functions
TypeScript - Prisma ORM47,694 Stars
2 shared tag(s) · 2 shared category(s) · Same language
Rebuild contracts, typed queries, migrations, and extension SPI as a next-generation TypeScript ORM
TypeScript - Drizzle ORM35,956 Stars
5 shared tag(s) · 2 shared category(s) · Same language
Add TypeScript type safety while keeping SQL structure visible
TypeScript - ioredis15,344 Stars
3 shared tag(s) · 2 shared category(s) · Same language
use Redis Cluster, Sentinel, pipelines, and more from a full-featured Node.js client
TypeScript - Tabularis5,115 Stars
3 shared tag(s) · 2 shared category(s) · Same language
combine SQL editing, notebooks, database plugins, and MCP in one desktop workspace
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.