Home/Backend Frameworks/ElysiaJS
Backend Frameworks
elysiajs

ElysiaJS

TypeScriptOpen SourceBunPerformance

Ergonomic TypeScript framework for Bun — end-to-end type safety with Eden Treaty, ultra-fast performance, and a concise plugin API.

License

MIT

Language

TypeScript

74
Trust
Good

Why ElysiaJS?

Building APIs on Bun where you want tRPC-style type safety with a REST interface

Teams already running Bun who want a native, opinionated framework

Microservices needing maximum throughput on Bun runtime

Signal Breakdown

What drives the Trust Score

npm downloads
180k / wk
Commits (90d)
140 commits
GitHub stars
11k ★
Stack Overflow
100 q's
Community
Growing
Weighted Trust Score74 / 100

Download Trend

Last 12 months

Tradeoffs & Caveats

Know before you commit

Node.js environments — Hono or Fastify are better choices

Production apps that need a battle-tested, large community ecosystem

Pricing

Free tier & paid plans

Free tier

Open source, free to use

Paid

Free & open-source

Alternative Tools

Other options worth considering

hono
Hono84Strong

Ultra-fast, lightweight web framework for the edge — runs on Cloudflare Workers, Deno, Bun, and Node.js with a familiar Express-like API.

fastify
Fastify83Strong

High-performance Node.js web framework with a schema-based approach — significantly faster than Express with built-in JSON schema validation.

nestjs
NestJS87Strong

Progressive Node.js framework for building scalable server-side apps — Angular-inspired architecture with decorators, DI, and a rich module ecosystem.

Often Used Together

Complementary tools that pair well with ElysiaJS

bun

Bun

Backend Frameworks

86Strong
View
typescript

TypeScript

Dev Toolchain

95Excellent
View
prisma

Prisma

Database & Cache

88Strong
View

Learning Resources

Docs, videos, tutorials, and courses

Get Started

Repository and installation options

View on GitHub

github.com/elysiajs/elysia

bunbun add elysia

Quick Start

Copy and adapt to get going fast

import { Elysia } from 'elysia';

const app = new Elysia()
  .get('/', () => 'Hello Elysia!')
  .post('/user', ({ body }) => body, {
    body: t.Object({ name: t.String() }),
  })
  .listen(3000);

Community Notes

Real experiences from developers who've used this tool