
Express
A minimal, unopinionated web framework for building servers and APIs with Node.js.
- Stars
- 69.6k
- Forks
- 25.3k
- Licence
- MIT
- Language
- JavaScript
- Last update
- 4 days ago
- Type
- Framework
What it is
Express is a small web framework for Node.js, the JavaScript runtime that runs outside the browser. It helps you handle web requests, define routes, and send responses without writing all the low-level server code yourself. It is described as unopinionated and minimalist, so it leaves most structural choices to the developer.
- Build a JSON API that serves data to a web or mobile front end
- Serve a website or static files from a Node.js process
- Add middleware for logging, parsing request bodies, or handling errors
Great for
- Developers building JavaScript or Node.js back-end servers
- Teams building REST-style APIs in Node.js
- People who want a small framework and prefer choosing their own libraries
- Learners who want to understand how web servers handle requests
Not ideal for
- People who want a full, batteries-included framework with conventions decided for them, since Express leaves most structure to you
- Non-programmers, because it requires writing JavaScript code
- Projects that do not use Node.js
How to get it
- 1
Install with a package manager
You'll need: Node.js
Install into a project
npm install express - 2
Run it
- Create a project folder and run npm init to set up package.json.
- Run npm install express to add the framework.
- Create an app file that requires express, defines a route, and calls listen on a port.
- Start the file with node and open the chosen port in a browser.
- 3
Get the most out of it
- Use the middleware system to add reusable request handling across routes.
- Explore the official documentation at expressjs.com for routing and API guidance.
- Pair it with a validation or security middleware library to cover needs Express does not include by default.
Downloads
Strengths
- Minimal core that is easy to learn and extend
- Unopinionated, so it fits many project structures
- Widely used, with 69,580 GitHub stars and an MIT license
Trade-offs
- Leaves structure, validation, and many features to third-party packages, which means more decisions for you
- Requires familiarity with Node.js and JavaScript
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| express (this) | 69.6k | Framework | intermediate | 4 days ago | Developers building JavaScript or Node.js back-end servers |
| fastify | 37.3k | Library | beginner | 4 days ago | Node.js developers building JSON APIs or backend services |
| koa | 35.7k | Library | intermediate | 4 days ago | Node.js developers who want a minimal web framework they can shape themselves |
| payload | 45.6k | Framework | intermediate | 4 days ago | Developers already building with Next.js and React who want a backend without a separate server |
| elysia | 19.3k | Framework | intermediate | 8 days ago | TypeScript developers building HTTP APIs or web servers |
| node-restify | 10.7k | Framework | intermediate | 14 days ago | Node.js developers building JSON or REST web services |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.