← All open source projects

Express

expressjs/express

Express is a minimalist web framework for Node.js: routes, middleware, HTTP responses, and server foundations for APIs and sites.

Forks 23,765
Author expressjs
Language JavaScript
License MIT
Synced 2026-06-20

What it is

Express is a minimalist web framework for Node.js. It provides routes, middleware, request and response handling, but does not impose a large application architecture.

The repository has existed since 2009, its main language is JavaScript, and the license is MIT. Express became one of the foundational parts of the Node.js ecosystem and remains a standard option for small servers and APIs.

What is inside

Inside are the framework core, tests, examples, installation documentation, project philosophy, and links to official middleware and modules in the expressjs organization.

Minimal Express server

The example shows the basic Express model: an app declares a route and returns a response to an HTTP request.

Language: JavaScript
import express from 'express'

const app = express()

app.get('/', (req, res) => {
  res.send('Hello from Express')
})

app.listen(3000)

How people use it

Express is used for APIs, server parts of web apps, internal services, prototypes, and learning projects. Its strength is that a simple app can be written quickly and complexity can be added gradually.

Its strength is the simplicity of the model. Routes, middleware, and responses are understandable without a heavy abstraction layer, so Express is easy to explain and embed.

Project details

Express became popular because it matched the Node.js philosophy: a small core, many packages around it, and direct access to the HTTP model. Developers do not have to accept a large architecture before they know the shape of the app.

Middleware is the main extension mechanism. Logging, JSON parsing, authorization, sessions, errors, and custom rules pass through it. That keeps Express simple at the start, but demands order in a large project.

Even as the ecosystem moved toward newer frameworks, Express did not disappear. It remains a basic server library understood by many developers and often used under APIs, webhooks, and small services.

Strengths and limitations

The limitation is that freedom requires discipline. A large app needs rules for structure, validation, authorization, errors, logging, and tests; Express does not decide those for the team.

Express matters as one of the projects that shaped practical server-side Node.js: a huge amount of examples, packages, and development habits grew around it.

Context