Backend frameworks
Backend frameworks organize server-side code, APIs and database access.
Use for: APIs, web services and app backends.
A fast, type-safe Rust web framework with HTTP/2, WebSockets, streaming, compression, TLS and built-in middleware, and a long record in TechEmpower benchmarks.
A batteries-included TypeScript MVC framework for Node.js with an ORM, authentication, validation, mail, queues, caching and testing that are designed to work together.
Microsoft's free, cross-platform, open-source web framework for C# with minimal APIs, MVC, Blazor, SignalR, gRPC, built-in auth and yearly .NET releases with LTS.
A Rust HTTP routing and request-handling library from the Tokio project, built on hyper and using tower middleware instead of its own middleware system.
The batteries-included Python web framework with an ORM, migrations, admin interface, auth, forms and security protections, run by an international volunteer team since 2005.
A minimalist, extensible Go web framework with an optimised router, middleware at root, group or route level, data binding, automatic TLS and HTTP/2.
A TypeScript web framework optimised for Bun with end-to-end type inference, schema validation, OpenAPI generation and adapters for Node.js and other runtimes.
An open-source TypeScript and Go backend framework where databases, Pub/Sub, buckets and cron jobs are declared in code, with an optional paid cloud that provisions them on AWS or GCP.
The long-standing minimal web framework for Node.js: routing, middleware and HTTP helpers, with the largest ecosystem of third-party middleware in JavaScript.
A Python API framework built on Starlette and Pydantic that turns standard type hints into validation, serialization and automatic OpenAPI docs, with an optional paid FastAPI Cloud.
A fast, low-overhead Node.js framework with JSON Schema validation and serialization, a plugin system with encapsulation, and the Pino logger built in.
An Express-inspired Go web framework on Fasthttp with zero-allocation design, plus built-in middleware, template engines, storage drivers and WebSocket support.
A lightweight Python WSGI micro-framework built on Werkzeug and Jinja that stays out of your way, with community extensions for databases, auth and forms.
A widely used Go HTTP framework with a Martini-like API on a zero-allocation router, plus JSON binding, validation, route groups and recovery middleware.
A small, zero-dependency TypeScript web framework built on Web Standards that runs the same code on Cloudflare Workers, Deno, Bun, Node.js and AWS Lambda.
JetBrains' lightweight Kotlin framework for asynchronous servers and HTTP clients, built on coroutines, with a plugin pipeline and no imposed structure.
A batteries-included PHP framework with an ORM, queues, auth, real-time and AI packages, backed by a company that sells Laravel Cloud, Forge, Nightwatch and other paid tools.
A community-run Python ASGI framework for APIs with dependency injection, DTOs, layered configuration, first-class SQLAlchemy support and automatic OpenAPI docs.
A Rails-inspired, batteries-included Rust framework built on Axum and SeaORM, with generators, background jobs, mailers, auth, storage and a scheduler for solo developers.
An Angular-inspired TypeScript framework for Node with modules, dependency injection and decorators, running on Express or Fastify, with paid devtools, deployment and support.
An Elixir web framework on the Erlang VM with LiveView for server-rendered interactive pages, built-in PubSub, Channels and Presence for real-time features.
A container-first Java framework that moves work to build time for fast startup and low memory, with live reload, native executables via GraalVM and standards-based APIs.
The Remix team's new, React-free full-stack framework in a single package: server runtime, routing, auth, sessions, database tooling, its own UI runtime and components, built on Web APIs.
The convention-over-configuration full-stack Ruby framework with Active Record, mail, WebSockets, jobs and file uploads built in, created by David Heinemeier Hansson.
The opinionated way to build stand-alone Spring applications in Java or Kotlin, with embedded servers, starter dependencies, auto-configuration and production metrics, plus paid Tanzu Spring support.
A full-stack PHP framework and a set of reusable components used by Drupal, Laravel and Composer, with a strict release calendar and three-year LTS versions.
| Tool | Pricing | Language | Style | Runs on | Maintained by |
|---|---|---|---|---|---|
| Actix Web actix.rs · OSS | Open source | Rust | Minimal core, feature-rich | Tokio-compatible, Rust 1.88+ | Actix team (community) |
| AdonisJS adonisjs.com · OSS | Open source | TypeScript | Batteries-included MVC | Node.js | Independent core team, sponsor-funded |
| ASP.NET Core dotnet.microsoft.com · OSS | Open source | C# (.NET) | Batteries-included, modular | .NET (Kestrel), Windows/Linux/macOS | Microsoft, open-source contributors |
| Axum github.com · OSS | Open source | Rust | Minimal, modular | Tokio (hyper), Rust 1.80+ | Tokio project maintainers |
| Django djangoproject.com · OSS | Open source | Python | Batteries-included MVC (MTV) | Python (WSGI or ASGI) | Django Software Foundation, volunteers |
| Echo echo.labstack.com · OSS | Open source | Go | Minimal, extensible | Go (last four major releases) | LabStack and community maintainers, sponsors |
| Elysia elysiajs.com · OSS | Open source | TypeScript | Minimal, type-safe | Bun (Node and others via adapters) | Community project led by SaltyAom, sponsors |
| Encore encore.dev · OSS | Open source | TypeScript, Go | Batteries-included, infrastructure from code | Node.js (TS), Go | Encore (company) |
| Express expressjs.com · OSS | Open source | JavaScript (TypeScript via @types) | Minimal, unopinionated | Node.js 18+ | Community TC, OpenJS Foundation project |
| FastAPI fastapi.tiangolo.com · OSS | Open source | Python | Minimal, API-focused | Python (ASGI: Starlette, Uvicorn) | Sebastian Ramirez, sponsors, FastAPI Cloud |
| Fastify fastify.dev · OSS | Open source | JavaScript / TypeScript | Minimal core, plugin-based | Node.js | Lead maintainers, OpenJS Foundation project |
| Fiber gofiber.io · OSS | Open source | Go | Minimal core, batteries via official packages | Go 1.25+ (Fasthttp) | Community maintainers (gofiber org) |
| Flask flask.palletsprojects.com · OSS | Open source | Python | Minimal (micro-framework) | Python (WSGI) | Pallets community organisation |
| Gin gin-gonic.com · OSS | Open source | Go | Minimal | Go 1.25+ (net/http) | gin-gonic community maintainers |
| Hono hono.dev · OSS | Open source | TypeScript / JavaScript | Minimal, with built-in middleware | Workers, Deno, Bun, Node, Lambda, Fastly | Community project started by Yusuke Wada |
| Ktor ktor.io · OSS | Open source | Kotlin | Minimal, unopinionated | JVM (Netty, Jetty, servlet) | JetBrains |
| Laravel laravel.com · OSS | Open source | PHP | Batteries-included MVC | PHP 8.3+ (Laravel 13) | Laravel (company), plus community |
| Litestar litestar.dev · OSS | Open source | Python | Opinionated, batteries included for APIs | Python (ASGI) | Community maintainers (Litestar Organization) |
| Loco loco.rs · OSS | Open source | Rust | Batteries-included (Rails-like) | Rust (Axum, Tokio) | Community maintainers |
| NestJS nestjs.com · OSS | Open source | TypeScript | Batteries-included, modular with DI | Node.js (Express or Fastify) | Core team led by Kamil Mysliwiec, sponsors |
| Phoenix phoenixframework.org · OSS | Open source | Elixir | Batteries-included, real-time | Erlang VM (BEAM) | Core team led by Chris McCord, sponsor DockYard |
| Quarkus quarkus.io · OSS | Open source | Java, Kotlin | Batteries-included, standards-based | JVM or GraalVM native | Community, Commonhaus Foundation (began at Red Hat) |
| Remix 3 remix.run · OSS | Open source | Shopify (Remix team) | |||
| Ruby on Rails rubyonrails.org · OSS | Open source | Ruby | Batteries-included MVC | Ruby | Rails core team, Rails Foundation, 37signals and others |
| Spring Boot spring.io · OSS | Open source | Java, Kotlin | Batteries-included, opinionated | JVM (Java 17+) | Broadcom Tanzu team, community |
| Symfony symfony.com · OSS | Open source | PHP | Full-stack, modular components | PHP 8.4+ (8.x), 8.2+ (7.4 LTS) | SensioLabs, community, release sponsors |
No tools match these filters.
How to choose a backend framework
- Choose the language first: the one you (and your team) write best, and the one your libraries are in.
- Batteries-included frameworks (Laravel, Rails, Django, AdonisJS) are fastest for a classic app with a database and an admin; minimal ones (Hono, Fastify, FastAPI) suit APIs and people who like to pick each part.
- If you deploy to edge or serverless platforms, check the framework runs there; Hono and Elysia are built for it, many others expect a long-running server.
- Typed request validation and generated API docs (FastAPI, NestJS, Hono with Zod) save time once other people call your API.
Questions
What is the easiest backend framework to learn?
For Python, FastAPI or Flask; for JavaScript, Express or Hono; for a full app with less code to write, Laravel or Rails. The easiest is usually the one in the language you already know.