Encore.ts / Encore.go
TypeScript backend framework for robust and type-safe applications

Video thumbnail
1. Install Encore
macOS
Windows
Linux
Brew
$ brew install encoredev/tap/encore
2. Create tutorial app
$ encore app create --example=ts/introduction
3. Run locally
$ encore run

Loved by pioneering engineering teams in fast-moving startups and $100M+ scaleups
See what teams are building with Encore

Carla
Pave Bank
Bookshop.org
Skrym
Lizza
Caribou
Dutch
Alguna
Gravity

Leave the maze of complexity behind

Leave the maze of complexity behind

9x Faster than Express.js
3x Faster than Elysia & Hono

Requests/sec

Without validation
With schema validation
121,005
107,018
Encore
v1.38.7
82,617
35,124
Elysia (+ TypeBox)
v1.1.16 / v0.33.12
71,202
33,150
Hono (+ TypeBox)
v4.6.3 / v0.33.12
62,207
48,397
Fastify (+ Ajv)
v4.27.0 / v8.16.0
15,707
11,878
Express (+ Zod)
v4.19.2 / v3.23.8
Replace Express.js with Encore.ts for 9x faster APIs.
Try it

Built-in type validation for security and robustness

Automatic request validation in Rust for runtime type-safety

Protection against attacks by validating requests before the JavaScript layer
Wrap your APIs with Encore.ts for improved type-safety and security.
Try it

Define functions and use them as APIs

Encore.ts generates the communication boilerplate and ensures full type-safety.


Learn how to define services and APIs in Encore through interactive coding challenges:
$ encore app create --example=ts/introduction

Integrate your infrastructure as type-safe objects in application code

Encore runs all your distributed systems infrastructure for local dev, and builds your app using Docker images directly from the CLI.


Deploy anywhere that supports Docker images using Encore's Open Source tools.
See how
Fully automate infra and DevOps in your cloud on AWS and GCP with Encore Cloud Platform.
Learn more

Automated local infrastructure and built-in development dashboard

Try the local development experience:
$ encore app create --example=ts/hello-world

Automated local infra with hot reload

encore run starts your app and all infrastructure. Forget YAML, Docker Compose, and the usual headaches.

Service Catalog & API Explorer

Automatically updated Service Catalog with full API documentation, and an API Explorer for testing your APIs.

Tracing & Logging

The local dashboard includes tracing for API requests, database calls, and Pub/Sub messages.

Architecture Diagrams

Automatic architecture diagrams give you a real-time overview of your application.

Full example project

Project

Clone this example
$ encore app create --example=ts/uptime
Less complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibilityLess complexity creates more possibility

Start building your first Encore.ts app

Uptime Monitor Template
URL Shortener
A URL shortener with a REST API and PostgreSQL database.
Uptime Monitor Template
Slack Bot
Create a Cowsay Slack Bot that integrates with the Slack API.
Uptime Monitor Template
Event-Driven System
Create an event-driven uptime monitoring system with this template.
Chatty Bots
OpenAI Chat Bot
Create bots powered by OpenAI and integrate with Discord and Slack.

Join our developer community

GitHub
Star Encore on GitHub
Discord
Say your piece on Discord
Twitter
Keep tabs on Twitter
YouTube
Sit back and relax

Get started now

1. Install Encore
macOS
Windows
Linux
Brew
$ brew install encoredev/tap/encore
2. Create tutorial app
$ encore app create --example=ts/introduction
3. Run locally
$ encore run