Skip to content

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
Step-by-step guide: how to use ExpressInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js

    Install into a project

    npm install express
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
express (this)69.6kFrameworkintermediate4 days agoDevelopers building JavaScript or Node.js back-end servers
fastify37.3kLibrarybeginner4 days agoNode.js developers building JSON APIs or backend services
koa35.7kLibraryintermediate4 days agoNode.js developers who want a minimal web framework they can shape themselves
payload45.6kFrameworkintermediate4 days agoDevelopers already building with Next.js and React who want a backend without a separate server
elysia19.3kFrameworkintermediate8 days agoTypeScript developers building HTTP APIs or web servers
node-restify10.7kFrameworkintermediate14 days agoNode.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.