Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* feat: add stream() support for sqlite dialect

* query.kind ->

Co-authored-by: Igal Klebanov <>

* Reword error message

Co-authored-by: Igal Klebanov <>

* fix missing import


Co-authored-by: Igal Klebanov <>
3d5e0e5 1

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
September 11, 2023 19:24
May 31, 2021 00:21
December 29, 2022 18:54
September 23, 2021 11:44
March 6, 2021 17:51
November 16, 2022 12:45
February 2, 2022 22:10

Stand With Ukraine

Discord Tests License Issues Pull Requests Vulnerabilities Downloads Bundle Size Social


Kysely (pronounce “Key-Seh-Lee”) is a type-safe and autocompletion-friendly typescript SQL query builder. Inspired by knex. Mainly developed for node.js but also runs on all other javascript environments like deno.

Kysely makes sure you only refer to tables and columns that are visible to the part of the query you're writing. The result type only has the selected columns with correct types and aliases. As an added bonus you get autocompletion for all that stuff.

As shown in the gif above, through the pure magic of modern typescript, Kysely is even able to parse the alias given to and add the pet_name column to the result row type. Kysely is able to infer column names, aliases and types from selected subqueries, joined subqueries, with statements and pretty much anything you can think of.

Of course there are cases where things cannot be typed at compile time, and Kysely offers escape hatches for these situations. See the sql template tag and the DynamicModule for more info.

All API documentation is written in the typing files and you can simply hover over the module, class or method you're using to see it in your IDE. The same documentation is also hosted here.

If you start using Kysely and can't find something you'd want to use, please open an issue or join our discord server.

Getting started

Please visit our documentation site to get started. We also have a comprehensive API documentation hosted here but you can access the same documentation in your IDE by hovering over a class/method/property/whatever.


Want to contribute? Check out our contribution guidelines.

Powered by Vercel