TypeORM to Kysely Interface Generator

Transform TypeORM entity classes into clean Kysely TypeScript table interfaces with Generated annotations and Database interface.

At a glance

TypeORM to Kysely Interface Generator is a free, client-side developer tool that converts TypeORM entity classes into type-safe Kysely TypeScript table interfaces with Generated annotations, ColumnType unwrapping, nullable fields, and a master Database interface. Processing runs 100% in your browser.

Universal Switcher:
From:
To:

100% Client-Side TypeORM Entity to Kysely Interface Generator

Zero Server Uploads

Convert TypeORM entity classes into type-safe Kysely TypeScript interfaces with Generated annotations, ColumnType unwrapping, helper types, and Database interface.

Local Browser Sandbox
Presets:
0 entities 0 enums
0 tables

Generated<T> Precision

Automatically wraps primary keys, auto-increment columns, timestamps (@CreateDateColumn), and defaulted fields inside Kysely's Generated<T> wrapper.

Helpers & Database Interface

Generates idiomatic Selectable, Insertable, and Updateable type aliases for each entity, plus a centralized Database interface.

100% Client-Side Privacy

All AST parsing and code synthesis happen locally in your web browser. Sensitive entity classes and schema structures never touch any remote server.

Why Use This TypeORM Entity to Kysely Interface Generator?

Converts TypeORM entity classes into type-safe Kysely TypeScript table interfaces
Wraps autoincrementing IDs, UUIDs, and timestamps (@CreateDateColumn, @UpdateDateColumn) in Generated<T>
Automatically filters virtual relation properties and preserves foreign key columns
Generates Selectable, Insertable, and Updateable helper type aliases and master Database interface
100% client-side privacy: schema data never leaves your device

How to Use TypeORM Entity to Kysely Interface Generator

1

Paste TypeORM Entity

Paste your TypeORM entity classes into the editor or load a preset.

2

Configure Options

Select naming convention preferences and helper type toggles.

3

Copy or Export

Copy the generated Kysely TypeScript interfaces or download as a .ts file.

TypeORM Entity to Kysely Table Interface Conversion

The converter parses the User entity class, generates the UserTable interface, wraps the @PrimaryGeneratedColumn() id and @CreateDateColumn() createdAt in Generated<T>, maps varchar columns to string, and synthesizes the root Database interface.

TypeORM Entity (TypeScript) Source
@Entity('users')
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ type: 'varchar', length: 255 })
  name: string;

  @Column({ type: 'varchar', length: 255, unique: true })
  email: string;

  @CreateDateColumn()
  createdAt: Date;
}
Kysely Interface (TypeScript) Processed
export interface UserTable {
  id: Generated<number>;
  name: string;
  email: string;
  createdAt: Generated<Date>;
}

export interface Database {
  users: UserTable;
}

Technical Specifications & Engine Details

Technical specifications and engine details for TypeORM Entity to Kysely Interface Generator
Specification Details
Supported Formats TYPESCRIPT, TEXT → TYPESCRIPT, TEXT
Execution Mode 100% Client-Side In-Browser (client)
Browser Requirements Modern browser with ES2020 JavaScript support.
Performance Constraints Pure client-side conversion. Custom decorators without standard TypeORM semantics are safely skipped.
Maintained by Pragyan Pahadi

100% Client-Side Privacy Guarantee

Your schema code remains strictly on your local device. Zero data is transmitted to external servers.

Frequently Asked Questions

How does this tool map TypeORM primary keys and timestamps to Kysely?
TypeORM decorators like @PrimaryGeneratedColumn(), @CreateDateColumn(), and @UpdateDateColumn() are mapped to Kysely's Generated<T> wrapper (e.g. Generated<number>, Generated<Date>) so that insert operations treat them as optional while select operations return concrete values.
How are TypeORM relations handled?
Virtual relation properties (@OneToMany, @ManyToMany) that do not exist as physical database columns are excluded, while foreign key columns annotated with @ManyToOne and @JoinColumn are preserved as type-safe scalar foreign keys.
Is my schema code private?
Yes, 100%. The conversion runs entirely inside your browser's JavaScript sandbox. No code is transmitted to any external server.

Methodology

This tool runs entirely in your browser. The example above shows a representative input and the result it produces.

Last updated .