# Ent vs Kysely

**Leader by vioscaleAI score:** Kysely

| Attribute | Ent | Kysely |
|---|---|---|
| **vioscaleAI score** | 46.8 (48% (low)) | 73.6 (78% (high)) |
| activity.commits_last_30d | 1 | 59 |
| adoption.dependent_repos | 808 | 1,155 |
| adoption.github_stars | 17,207 | 14,269 |
| adoption.package_downloads_weekly | - | 20,754,444 |
| content.faq | `[{"answer":"An open-source Go framework that lets developers define database schemas as Go code and automatically generates type-safe query builders. It supports multiple SQL and graph databases, schema migrations, and complex data model traversal. It is indexed under ORM & Database Tools.","source":"https://entgo.io","question":"What is Ent?","confidence":0.6},{"answer":"Ent is open source, so it can be self-hosted and used at no licence cost. It is released under the Apache-2.0 licence. Pricing changes often, so verify at source before relying on it.","source":"https://entgo.io","question":"Is Ent free to use?","confidence":0.6},{"answer":"Ent supports a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://entgo.io","question":"What platforms does Ent support?","confidence":0.6},{"answer":"Yes. Ent can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://entgo.io","question":"Can Ent be self-hosted?","confidence":0.6},{"answer":"Yes. Ent is published under the Apache-2.0 licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/ent/ent","question":"Is Ent open source?","confidence":0.95}]` | `[{"answer":"A JavaScript and TypeScript SQL query builder that provides compile-time type safety and database schema validation. It works across multiple runtimes (Node, Deno, Bun, Cloudflare Workers, browsers) with zero runtime dependencies and emphasizes composable, type-safe queries over higher-level abstractions. It is indexed under ORM & Database Tools.","source":"https://kysely.dev","question":"What is Kysely?","confidence":0.6},{"answer":"Kysely is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://kysely.dev","question":"Is Kysely free to use?","confidence":0.6},{"answer":"Kysely supports the web and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://kysely.dev","question":"What platforms does Kysely support?","confidence":0.6},{"answer":"Yes. Kysely can be deployed cloud / SaaS and self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://kysely.dev","question":"Can Kysely be self-hosted?","confidence":0.6},{"answer":"We have confirmed 20 integrations for Kysely, including Supabase, Cursor, Windsurf, GitHub Copilot, ChatGPT, Claude, AirTrail and AWS Blocks, plus 12 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://kysely.dev","question":"What does Kysely integrate with?","confidence":0.6},{"answer":"Yes. Kysely is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/kysely-org/kysely","question":"Is Kysely open source?","confidence":0.99}]` |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true,"self_hosted":true}` |
| description.long | An entity framework for Go that enables schema definition as code and provides statically-typed query capabilities across multiple database backends. | A JavaScript and TypeScript SQL query builder that provides compile-time type safety and database schema validation. It works across multiple runtimes (Node, Deno, Bun, Cloudflare Workers, browsers) with zero runtime dependencies and emphasizes composable, type-safe queries over higher-level abstractions. |
| features.capabilities | `{"multi_db":true,"languages":"Go","relations":true,"migrations":true,"schema_first":true,"type_safe_queries":true}` | `{"raw_sql":true,"multi_db":true,"languages":"TypeScript, JavaScript (Node, Deno, Bun, Cloudflare Workers, browsers)","relations":true,"migrations":true,"studio_gui":false,"schema_first":true,"type_safe_queries":true,"connection_pooling":false}` |
| integrations.count | 2 | 21 |
| integrations.list | `[{"name":"GraphQL"},{"name":"Atlas","native":true,"category":"migration","direction":"bidirectional"},{"name":"Slack","native":false,"category":"chat","direction":"inbound"}]` | `[{"name":"Supabase"},{"name":"Cursor"},{"name":"Windsurf"},{"name":"GitHub Copilot"},{"name":"ChatGPT"},{"name":"Claude"},{"name":"Claude Code"},{"name":"AirTrail"},{"name":"AWS Blocks"},{"name":"Conar"},{"name":"EmbedPDF"},{"name":"Hot Updater"},{"name":"inlang"},{"name":"Notesnook"},{"name":"OpenClaw"},{"name":"Reflect"},{"name":"Sink"},{"name":"Stacks"},{"name":"StudioCMS"},{"name":"Tunarr"},{"name":"ZenStack"},{"name":"PostgreSQL","category":"database"},{"name":"MySQL","category":"database"},{"name":"SQLite","category":"database"},{"name":"Microsoft SQL Server","category":"database"}]` |
| language.primary | Go | TypeScript |
| license.spdx | Apache-2.0 | MIT |
| platform.support | `{"cli":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","summary":"Open source, free","freeTier":true,"sourceUrl":"https://entgo.io","retrievedAt":"2026-08-14T08:31:32.117Z"}` | `{"type":"open_source","summary":"Completely free and open source (MIT license)","freeTier":true,"sourceUrl":"https://kysely.dev","retrievedAt":"2026-08-14T08:37:15.404Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | 34 | 10 |
| release.history | `[{"url":"https://github.com/ent/ent/releases/tag/v0.14.6","date":"2026-03-23T19:56:46Z","type":"stable","version":"v0.14.6"},{"url":"https://github.com/ent/ent/releases/tag/v0.14.0","date":"2024-07-29T04:28:24Z","type":"stable","version":"v0.14.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.12.5","date":"2023-11-13T18:08:11Z","type":"stable","version":"v0.12.5"},{"url":"https://github.com/ent/ent/releases/tag/v0.11.0","date":"2022-07-13T14:03:14Z","type":"stable","version":"v0.11.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.10.1","date":"2022-03-04T20:59:41Z","type":"stable","version":"v0.10.1"},{"url":"https://github.com/ent/ent/releases/tag/v0.10.0","date":"2022-01-20T21:14:25Z","type":"stable","version":"v0.10.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.9.1","date":"2021-08-17T09:55:22Z","type":"stable","version":"v0.9.1"},{"url":"https://github.com/ent/ent/releases/tag/v0.9.0","date":"2021-08-05T18:48:18Z","type":"stable","version":"v0.9.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.8.0","date":"2021-04-14T20:04:11Z","type":"stable","version":"v0.8.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.7.0","date":"2021-03-11T18:45:46Z","type":"stable","version":"v0.7.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.6.0","date":"2021-02-02T21:19:58Z","type":"stable","version":"v0.6.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.5.4","date":"2021-01-06T14:05:16Z","type":"stable","version":"v0.5.4"},{"url":"https://github.com/ent/ent/releases/tag/v0.5.3","date":"2020-12-13T17:38:56Z","type":"stable","version":"v0.5.3"},{"url":"https://github.com/ent/ent/releases/tag/v0.5.2","date":"2020-12-11T11:48:19Z","type":"stable","version":"v0.5.2"},{"url":"https://github.com/ent/ent/releases/tag/v0.5.1","date":"2020-11-29T10:51:12Z","type":"stable","version":"v0.5.1"},{"url":"https://github.com/ent/ent/releases/tag/v0.5.0","date":"2020-11-04T07:21:37Z","type":"stable","version":"v0.5.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.4.3","date":"2020-09-21T13:20:56Z","type":"stable","version":"v0.4.3"},{"url":"https://github.com/ent/ent/releases/tag/v0.4.2","date":"2020-08-30T14:54:27Z","type":"stable","version":"v0.4.2"},{"url":"https://github.com/ent/ent/releases/tag/v0.4.0","date":"2020-08-18T08:06:53Z","type":"stable","version":"v0.4.0"},{"url":"https://github.com/ent/ent/releases/tag/v0.3.0","date":"2020-08-05T14:54:02Z","type":"stable","version":"v0.3.0"}]` | `[{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.6","date":"2026-09-16T01:06:58Z","type":"stable","version":"v0.29.6"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.30.0-beta.2","date":"2026-09-14T01:34:36Z","type":"prerelease","version":"v0.30.0-beta.2"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.5","date":"2026-08-10T01:06:13Z","type":"stable","version":"v0.29.5"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.30.0-beta.1","date":"2026-07-26T17:34:07Z","type":"prerelease","version":"v0.30.0-beta.1"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.30.0-beta.0","date":"2026-07-25T12:45:33Z","type":"prerelease","version":"v0.30.0-beta.0"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.4","date":"2026-07-17T17:42:04Z","type":"stable","version":"v0.29.4"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.3","date":"2026-07-05T23:18:21Z","type":"stable","version":"v0.29.3"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.2","date":"2026-05-16T15:52:03Z","type":"stable","version":"v0.29.2"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.1","date":"2026-05-16T00:01:27Z","type":"stable","version":"v0.29.1"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.0","date":"2026-05-08T23:54:19Z","type":"stable","version":"v0.29.0"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.17","date":"2026-05-03T01:10:50Z","type":"stable","version":"v0.28.17"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.29.0-rc.0","date":"2026-04-24T20:13:08Z","type":"prerelease","version":"v0.29.0-rc.0"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.16","date":"2026-04-10T18:07:40Z","type":"stable","version":"v0.28.16"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.15","date":"2026-03-31T01:49:35Z","type":"stable","version":"v0.28.15"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.14","date":"2026-03-20T11:28:01Z","type":"stable","version":"v0.28.14"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.13","date":"2026-03-18T22:12:57Z","type":"stable","version":"v0.28.13"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.12","date":"2026-03-14T09:13:30Z","type":"stable","version":"v0.28.12"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.11","date":"2026-01-31T18:58:27Z","type":"stable","version":"v0.28.11"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.10","date":"2026-01-18T07:13:52Z","type":"stable","version":"v0.28.10"},{"url":"https://github.com/kysely-org/kysely/releases/tag/v0.28.9","date":"2025-12-13T17:48:32Z","type":"stable","version":"v0.28.9"}]` |
| security.scorecard | 4.4 | 7.2 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=entgo.io%2Fent&per_page=100","last_12m":0,"max_severity":null}` | `{"count":4,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=kysely&per_page=100","last_12m":4,"max_severity":"HIGH"}` |

## Capabilities (ORM & Database Tools)

| Capability | Ent | Kysely |
|---|:--:|:--:|
| **Core** |  |  |
| Type-safe queries | ✓ | ✓ |
| Schema migrations | ✓ | ✓ |
| Relations / joins API | ✓ | ✓ |
| Languages | Go | TypeScript, JavaScript (Node, Deno, Bun, Cloudflare Workers, browsers) |
| **Modelling** |  |  |
| Schema-first modelling | ✓ | ✓ |
| **Flexibility** |  |  |
| Raw SQL escape hatch | - | ✓ |
| **Portability** |  |  |
| Multiple database backends | ✓ | ✓ |
| **Ops** |  |  |
| Connection pooling | - | ✗ |
| **DX** |  |  |
| Data browser / studio | - | ✗ |

*Source: vioscaleAI. Generated 2026-10-16T20:14:52.965Z. "-" = undocumented, not absent.*
