Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING BASH RUST

Node.js Tutorial

Node HOME Node Intro Node Get Started Node JS Requirements Node.js vs Browser Node Cmd Line Node V8 Engine Node Architecture Node Event Loop

Asynchronous

Node Async Node Promises Node Async/Await Node Errors Handling

Module Basics

Node Modules Node ES Modules Node NPM Node package.json Node NPM Scripts Node Manage Dep Node Publish Packages

Core Modules

HTTP Module HTTPS Module File System (fs) Path Module OS Module URL Module Events Module Stream Module Buffer Module Crypto Module Timers Module DNS Module Assert Module Util Module Readline Module

JS & TS Features

Node ES6+ Node Process Node TypeScript Node Adv. TypeScript Node Lint & Formatting

Building Applications

Node Frameworks Express.js Middleware Concept REST API Design API Authentication Node.js with Frontend

Database Integration

MySQL Get Started MySQL Create Database MySQL Create Table MySQL Insert Into MySQL Select From MySQL Where MySQL Order By MySQL Delete MySQL Drop Table MySQL Update MySQL Limit MySQL Join
MongoDB Get Started MongoDB Create DB MongoDB Collection MongoDB Insert MongoDB Find MongoDB Query MongoDB Sort MongoDB Delete MongoDB Drop Collection MongoDB Update MongoDB Limit MongoDB Join

Advanced Communication

GraphQL Socket.IO WebSockets

Testing & Debugging

Node Adv. Debugging Node Testing Apps Node Test Frameworks Node Test Runner

Node.js Deployment

Node Env Variables Node Dev vs Prod Node CI/CD Node Security Node Deployment

Perfomance & Scaling

Node Logging Node Monitoring Node Performance Child Process Module Cluster Module Worker Threads

Node.js Advanced

Microservices Node WebAssembly HTTP2 Module Perf_hooks Module VM Module TLS/SSL Module Net Module Zlib Module Real-World Examples

Hardware & IoT

RasPi Get Started RasPi GPIO Introduction RasPi Blinking LED RasPi LED & Pushbutton RasPi Flowing LEDs RasPi WebSocket RasPi RGB LED WebSocket RasPi Components

Node.js Reference

Built-in Modules EventEmitter (events) Worker (cluster) Cipher (crypto) Decipher (crypto) DiffieHellman (crypto) ECDH (crypto) Hash (crypto) Hmac (crypto) Sign (crypto) Verify (crypto) Socket (dgram, net, tls) ReadStream (fs, stream) WriteStream (fs, stream) Server (http, https, net, tls) Agent (http, https) Request (http) Response (http) Message (http) Interface (readline)

Resources & Tools

Node.js Compiler Node.js Server Node.js Quiz Node.js Exercises Node.js Syllabus Node.js Study Plan Node.js Certificate

Node.js Syllabus


Introduction

The W3Schools Node.js Tutorial is comprehensive and beginner-friendly.

It will give you a fundamental knowledge of Node.js.

It is designed for beginners and requires only basic JavaScript knowledge.

The content has been carefully made to be bite-sized, simple, and easy to understand.

The content has been proven by millions of users over the years. It is updated and improved frequently.

The syllabus outline and its sequence are structured so you can learn Node.js step by step, from the introduction to creating server-side applications.

Get Started With Node.js »


Learning Outcomes

  • Learn what Node.js is and set up your environment
  • Create web servers with the HTTP module
  • Work with built-in modules (File System, URL, Events)
  • Use Node Package Manager (NPM) to manage packages
  • Handle files (upload, read, create, update, delete)
  • Send emails using Node.js
  • Connect and work with MySQL database
  • Create and manage MongoDB databases
  • Build real-world applications with Node.js

Note: Are you a teacher teaching Node.js? W3Schools Academy is a toolbox of features that can help you teach. It offers classroom features such as pre-built study plans, classroom administration and much more. Read more about Academy here.


Which Subjects Are Node.js Relevant For?

  • Back-end Development:
    Node.js is essential for server-side application development.
  • Web Development:
    Node.js enables full-stack JavaScript development.
  • API Development:
    Node.js is perfect for building RESTful APIs and microservices.
  • Real-time Applications:
    Node.js excels at handling real-time data and WebSocket connections.
  • DevOps:
    Node.js is widely used for build tools and automation.
  • Cloud Computing:
    Node.js is popular for cloud-native application development.
  • Enterprise Applications:
    Node.js supports building scalable enterprise solutions.

Get Started


Sign in to Track Progress

You can also create a free account to track your progress.

As a signed-in user, you get access to features such as:

  • Learning paths
  • Sandbox and lab environments
  • Achievements
  • And much more!

Sign Up - It's free


Overview of the Modules

Get Started


Sandbox and Lab Environment

Node.js, like any other platform, is best learned through hands-on practice.

Try this example using our editor:

Example

let http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!');
}).listen(8080);
Run example »

If you want to explore more and host your project, we have a feature called Spaces that allows you to build, test and deploy Node.js applications for free.

Here you get a secure sandbox environment called Spaces, where you can practice Node.js code and test projects in real-time.

Spaces allow you to test, build, and deploy code. This includes a W3Schools subdomain, hosting, and secure SSL certificates.

Spaces require no installation and run directly in the browser.

Features include:

  • Collaboration
  • File navigator
  • Terminal & log
  • Package manager
  • Database
  • Environment manager
  • Analytics
Dynamic Spaces

Create a Spaces Account


Node.js Certification

W3Schools offers an end-of-pathway certification program.

Here you can take exams to get certified.

The Node.js exam is a test that summarizes the W3Schools Node.js syllabus.

After passing the exam you get the "Certified Node.js Developer" Certification.

The certification exam is adaptive and graded; students will get a grade from intermediate, advanced to professional.

Buy Certificate »


Are You a Teacher?

Are you interested in learning how you can use W3Schools Academy to Teach Node.js?

Watch a demo of W3Schools Academy. You'll see how it works, and discover how it can make teaching programming easier and more engaging.

Watch Demo »




×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.