๐ŸŒ
Express
expressjs.com
Express - Node.js web application framework
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
Guide
Learn how to define and use routes in Express.js applications, including route methods, route paths, parameters, and using Router for modular routing.
Express generator
Learn how to use the Express application generator tool to quickly create a skeleton for your Express.js applications, streamlining setup and configuration.
Getting started
Learn how to install Express.js in your Node.js environment, including setting up your project directory and managing dependencies with npm.
Hello world
Get started with Express.js by building a simple 'Hello World' application, demonstrating the basic setup and server creation for beginners.

JavaScript server-side/backend web framework for node.js

Express.js, or simply Express, is a back end web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs. โ€ฆ Wikipedia
Factsheet
Original author TJ Holowaychuk
Developers OpenJS Foundation and others
Initial release 16 November 2010; 15 years ago (2010-11-16)
Factsheet
Original author TJ Holowaychuk
Developers OpenJS Foundation and others
Initial release 16 November 2010; 15 years ago (2010-11-16)
๐ŸŒ
Simplilearn
simplilearn.com โ€บ home โ€บ resources โ€บ software development โ€บ node.js tutorial โ€บ express js tutorial
Express JS Tutorial [Understand in 5 Minutes]
July 11, 2024 - Do you want to know what is Node.js framework Express JS and what are its features, advantages, and limitations? Then this tutorial is for you, just click here to know more.
Address ย  5851 Legacy Circle, 6th Floor, Plano, TX 75024 United States
Discussions

node.js - What does Express.js do in the MEAN stack? - Stack Overflow
I would compare Express to some PHP web framework in the stack you describe, something like slim. ... Sign up to request clarification or add additional context in comments. ... For MS stack is it fair to say that Node <=> IIS Web hosting server, Express.js <=> ASP .Net and Angular <=> ... More on stackoverflow.com
๐ŸŒ stackoverflow.com
Is Express JS still relevant or is there anything new?
Some people like koa or fastify but express is still the leader. More on reddit.com
๐ŸŒ r/node
116
70
December 17, 2024
What is Node.js' Connect, Express and "middleware"? - Stack Overflow
So does it work in a way that routing ... the MVC framework (like Rails), but in the middleware? ... THIS WILL CLEAR ALL YOUR DOUBTS AND ANSWER MANY MORE QUERIES THAT YOU HAVE I understand that it's too late (hopefully someone scrolls down...), but reading the following blog article will clear all the questions that you have about Connect, Express and Middleware. It also teaches you a bit about Node.js ... More on stackoverflow.com
๐ŸŒ stackoverflow.com
What is expressJS exactly? i keep hearing nodeJS and express, but I don't know what express is except it's some kinda framework.

Express is a minimalistic web framework built for Node JS.

Without express - you can handle creating a server, handle routing, etc all manually.

Express makes it easier, and also has a lot of other middleware/etc written for it to make common tasks easier such as handling authentication, routing, parsing body/query strings, etc.

For some people - Express is still too 'bare bones' - and lots of other frameworks have popped up to build off of it like Sails JS.

There are alternatives like Koa, HapiJS, Restify, etc that serve similar needs and solve things in different ways.

As for which front end to learn - I'd say pick a few, do a few basic prototypes/proof of concept apps in each one and see what resonates with you the most.

Ember, React, Angular are the main 'big 3' right now - and Angular has a large demand in the job market right now. But there is also demand for Ember and React

BackOne is still heavily used in some places, but I haven't used it much myself outside of some basic prototypes.

IMO - Think of a simple project that's not too complex, but not too simply - I'd say you want something a little more complex than TodoMVC. I built out a 'contact management' app that had a few routes, a list view, a detail view, an edit view - then re-built the same app with a bunch of different frameworks (and even re-built it within the same framework a few times).

I'd say it's worth doing it at least for the most popular ones right now - but might not hurt to do the same for a few of the smaller/up and coming frameworks - Aurelia, Rivets, Vue, etc.

Part of growing up as a developer is actually giving a framework a good 'test run' on a prototype app before deciding to commit to it for the long term, and comparing it to a few other options to do some due diligence instead of just saying 'some guy on the net told me so, so I did'.

More on reddit.com
๐ŸŒ r/javascript
5
1
July 3, 2014
๐ŸŒ
Programmers
programmers.io โ€บ home โ€บ blog โ€บ all you need to know about express.js framework
All You Need to Know About Express.js Framework
June 27, 2025 - Express.js is a free and open-source web application framework rolled out by Node.js. The Express.js framework is used for designing applications quickly and easily, without missing out on any of the important details.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ web tech โ€บ introduction-to-express
Introduction to Express - GeeksforGeeks
September 20, 2025 - Express.js is a minimal and flexible Node.js web application framework that simplifies building server-side applications and APIs.
๐ŸŒ
AltexSoft
altexsoft.com โ€บ blog โ€บ expressjs-pros-and-cons
The Good and the Bad of Express.js Web Framework | AltexSoft
November 15, 2024 - In raw Node.js, setting up routes requires creating multiple if-else statements or switch cases and then manually defining what happens for each route. Express.js simplifies routing by providing a straightforward, built-in router that makes code cleaner, more readable, and easier to maintain. NestJS is a Node.js framework that provides a more structured, opinionated approach to server-side development.
๐ŸŒ
W3Schools
w3schools.com โ€บ nodejs โ€บ nodejs_express.asp
Node.js Express.js
Express.js (or simply Express) is the most popular Node.js web application framework, designed for building web applications and APIs.
Top answer
1 of 7
75
  • MongoDB = database
  • Express.js = back-end web framework
  • Angular = front-end framework
  • Node = back-end platform / web framework

Basically, what Express does is that it enables you to easily create web applications by providing a slightly simpler interface for creating your request endpoints, handling cookies, etc. than vanilla Node. You could drop it out of the equation, but then you'd have to do a lot more work in whipping up your web-application. Node itself could do everything express is doing (express is implemented with node), but express just wraps it up in a nicer package.

I would compare Express to some PHP web framework in the stack you describe, something like slim.

2 of 7
20

You can think of Express as a utility belt for creating web applications with Node.js. It provides functions for pretty much everything you need to do to build a web server. If you were to write the same functionality with vanilla Node.js, you would have to write significantly more code. Here are a couple examples of what Express does:

  • REST routes are made simple with things like
    • app.get('/user/:id', function(req, res){ /* req.params('id') is avail */ });
  • A middleware system that allows you plug in different synchronous functions that do different things with a request or response, ie. authentication or adding properties
    • app.use(function(req,res,next){ req.timestamp = new Date(); next(); });
  • Functions for parsing the body of POST requests
  • Cross site scripting prevention tools
  • Automatic HTTP header handling
    • app.get('/', function(req,res){ res.json({object: 'something'}); });

Generally speaking, Sinatra is to Ruby as Express is to Node.js. I know it's not a PHP example, but I don't know much about PHP frameworks.

Find elsewhere
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ node.js โ€บ express-js
Express.js Tutorial - GeeksforGeeks
September 24, 2025 - Express.js is a minimal and flexible Node.js framework used to build web applications and APIs.
๐ŸŒ
Netguru
netguru.com โ€บ home page โ€บ blog โ€บ express.js vs next.js: key differences
Express.js vs Next.js: Key Differences
1 month ago - Express.js is a minimalist framework for Node.js, optimized for building scalable backend applications and APIs, while Next.js is designed for server-side rendering and static site generation in React applications, enhancing performance and SEO.
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Learn_web_development โ€บ Extensions โ€บ Server-side โ€บ Express_Nodejs โ€บ Introduction
Express/Node introduction - Learn web development | MDN
If you want to add specific handling for different HTTP verbs (e.g., GET, POST, DELETE, etc.), separately handle requests at different URL paths ("routes"), serve static files, or use templates to dynamically create the response, Node won't be of much use on its own. You will either need to write the code yourself, or you can avoid reinventing the wheel and use a web framework! Express is the most popular Node.js web framework, and is the underlying library for a number of other popular Node.js frameworks.
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Learn_web_development โ€บ Extensions โ€บ Server-side โ€บ Express_Nodejs
Express web framework (Node.js/JavaScript) - Learn web development | MDN
Express is a popular unopinionated web framework, written in JavaScript and hosted within the Node.js runtime environment. This module explains some of the key benefits of the framework, how to set up your development environment and how to perform common web development and deployment tasks.
๐ŸŒ
Wikipedia
en.wikipedia.org โ€บ wiki โ€บ Express.js
Express.js - Wikipedia
October 8, 2025 - Express.js, or simply Express, is a back end web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs.
Top answer
1 of 9
911

[Update: As of its 4.0 release, Express no longer uses Connect. However, Express is still compatible with middleware written for Connect. My original answer is below.]

I'm glad you asked about this, because it's definitely a common point of confusion for folks looking at Node.js. Here's my best shot at explaining it:

  • Node.js itself offers an http module, whose createServer method returns an object that you can use to respond to HTTP requests. That object inherits the http.Server prototype.

  • Connect also offers a createServer method, which returns an object that inherits an extended version of http.Server. Connect's extensions are mainly there to make it easy to plug in middleware. That's why Connect describes itself as a "middleware framework," and is often analogized to Ruby's Rack.

  • Express does to Connect what Connect does to the http module: It offers a createServer method that extends Connect's Server prototype. So all of the functionality of Connect is there, plus view rendering and a handy DSL for describing routes. Ruby's Sinatra is a good analogy.

  • Then there are other frameworks that go even further and extend Express! Zappa, for instance, which integrates support for CoffeeScript, server-side jQuery, and testing.

Here's a concrete example of what's meant by "middleware": Out of the box, none of the above serves static files for you. But just throw in connect.static (a middleware that comes with Connect), configured to point to a directory, and your server will provide access to the files in that directory. Note that Express provides Connect's middlewares also; express.static is the same as connect.static. (Both were known as staticProvider until recently.)

My impression is that most "real" Node.js apps are being developed with Express these days; the features it adds are extremely useful, and all of the lower-level functionality is still there if you want it.

2 of 9
179

The accepted answer is really old (and now wrong). Here's the information (with source) based on the current version of Connect (3.0) / Express (4.0).

What Node.js comes with

http / https createServer which simply takes a callback(req,res) e.g.

var server = http.createServer(function (request, response) {

    // respond
    response.write('hello client!');
    response.end();

});

server.listen(3000);

What connect adds

Middleware is basically any software that sits between your application code and some low level API. Connect extends the built-in HTTP server functionality and adds a plugin framework. The plugins act as middleware and hence connect is a middleware framework

The way it does that is pretty simple (and in fact the code is really short!). As soon as you call var connect = require('connect'); var app = connect(); you get a function app that can:

  1. Can handle a request and return a response. This is because you basically get this function
  2. Has a member function .use (source) to manage plugins (that comes from here because of this simple line of code).

Because of 1.) you can do the following :

var app = connect();

// Register with http
http.createServer(app)
    .listen(3000);

Combine with 2.) and you get:

var connect = require('connect');

// Create a connect dispatcher
var app = connect()
      // register a middleware
      .use(function (req, res, next) { next(); });

// Register with http
http.createServer(app)
    .listen(3000);

Connect provides a utility function to register itself with http so that you don't need to make the call to http.createServer(app). Its called listen and the code simply creates a new http server, register's connect as the callback and forwards the arguments to http.listen. From source

app.listen = function(){
  var server = http.createServer(this);
  return server.listen.apply(server, arguments);
};

So, you can do:

var connect = require('connect');

// Create a connect dispatcher and register with http
var app = connect()
          .listen(3000);
console.log('server running on port 3000');

It's still your good old http.createServer with a plugin framework on top.

What ExpressJS adds

ExpressJS and connect are parallel projects. Connect is just a middleware framework, with a nice use function. Express does not depend on Connect (see package.json). However it does the everything that connect does i.e:

  1. Can be registered with createServer like connect since it too is just a function that can take a req/res pair (source).
  2. A use function to register middleware.
  3. A utility listen function to register itself with http

In addition to what connect provides (which express duplicates), it has a bunch of more features. e.g.

  1. Has view engine support.
  2. Has top level verbs (get/post etc.) for its router.
  3. Has application settings support.

The middleware is shared

The use function of ExpressJS and connect is compatible and therefore the middleware is shared. Both are middleware frameworks, express just has more than a simple middleware framework.

Which one should you use?

My opinion: you are informed enough ^based on above^ to make your own choice.

  • Use http.createServer if you are creating something like connect / expressjs from scratch.
  • Use connect if you are authoring middleware, testing protocols etc. since it is a nice abstraction on top of http.createServer
  • Use ExpressJS if you are authoring websites.

Most people should just use ExpressJS.

What's wrong about the accepted answer

These might have been true as some point in time, but wrong now:

that inherits an extended version of http.Server

Wrong. It doesn't extend it and as you have seen ... uses it

Express does to Connect what Connect does to the http module

Express 4.0 doesn't even depend on connect. see the current package.json dependencies section

๐ŸŒ
Quora
quora.com โ€บ What-is-Express-js-in-simple-words
What is Express.js in simple words? - Quora
Answer (1 of 5): in the very Basic Terms, Express js is a framework which essentials mean, a lot of code is already written for you to perform the various task based on the requirements, it's an web framework, particularly used in the server ...
๐ŸŒ
GitHub
github.com โ€บ expressjs โ€บ express
GitHub - expressjs/express: Fast, unopinionated, minimalist web framework for node.
Fast, unopinionated, minimalist web framework for node. - expressjs/express
Starred by 68.3K users
Forked by 21.7K users
Languages ย  JavaScript
๐ŸŒ
TutorialsPoint
tutorialspoint.com โ€บ expressjs โ€บ index.htm
ExpressJS Tutorial
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It is an open source framework developed and maintained by the Node.js foundation.
๐ŸŒ
Medium
medium.com โ€บ @minduladilthushan โ€บ express-js-a-fast-minimalist-web-framework-for-node-js-694381d092d6
Express.js: A Fast, Minimalist Web Framework for Node.js | by Mindula Dilthushan | Medium
May 26, 2024 - Express.js is a minimal and flexible Node.js web application framework that provides a robust set of features for building web and mobile applications. It is widely used for developing server-side applications and APIs.