TiloBox
Back to directory
Node-RED project preview

Node-RED

Low-code programming for event-driven applications, IoT devices, and API integrations.

LicenseApache-2.0
GitHub stars23.6k
Last commit2 weeks ago
Tags6 topics
NodejsVisual ProgrammingSelf HostedFlow BasedAutomationIot
Overview

Why consider Node-RED?

Node-RED is an open-source visual flow-based programming tool for wiring hardware devices, APIs, and online services together with a browser-based flow editor.

Guided learning

Learn Node-RED by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 11 sections
In this guide11 sections

What is Node-RED?

Node-RED is an open-source, flow-based visual programming tool originally created by IBM Emerging Technologies and maintained by the OpenJS Foundation. Built on Node.js, Node-RED provides a browser-based visual canvas where developers and engineers can interconnect hardware sensors, home automation systems, MQTT brokers, REST APIs, and cloud services using interconnected processing nodes.

It serves as a self-hosted, lightweight alternative to commercial IoT middleware and automation services like Zapier, IFTTT, and AWS IoT Core.

Who Is It For?

  • IoT & Industrial Automation Engineers: Connecting industrial PLCs (Modbus, OPC UA, MQTT), factory sensors, and telemetry dashboards.
  • Home Automation Enthusiasts: Integrating complex home automation routines connecting Zigbee sensors, Home Assistant, and smart home appliances.
  • Backend Developers: Prototyping webhook handlers, ETL event pipes, and custom API integrations in minutes.

Key Features

  • Visual browser-based flow editor: Drag, drop, and wire nodes representing hardware inputs, HTTP endpoints, functions, and outputs.
  • Comprehensive palette of built-in nodes: HTTP, WebSocket, TCP, UDP, MQTT, Serial, File, and JSON parsers.
  • Function node with full JavaScript execution: Write arbitrary JavaScript code within nodes to manipulate payloads.
  • Huge community node repository: Install thousands of community-developed nodes directly from the palette manager.
  • Lightweight runtime environment capable of running on low-power hardware like Raspberry Pi and industrial gateways.

Deploying Node-RED with Docker Compose

yaml
1version: '3.7'
2
3services:
4 nodered:
5 image: nodered/node-red:latest
6 container_name: nodered
7 restart: unless-stopped
8 ports:
9 - "1880:1880"
10 environment:
11 - TZ=UTC
12 volumes:
13 - ./data:/data

Start the container:

bash
1docker compose up -d

Open http://localhost:1880 in your browser to access the visual flow editor.

Building Your First Automation Flow

  1. From the left sidebar palette, drag an inject node (input) onto the canvas.
  2. Drag a function node onto the canvas and connect the wire from the inject node's output to the function node's input. Double-click the function node and add:
    javascript
    1msg.payload = { message: "Hello from Node-RED!", timestamp: new Date().toISOString() };
    2return msg;
  3. Drag a debug node onto the canvas and connect the function node output to the debug node input.
  4. Click the red Deploy button in the top right corner.
  5. Click the square button on the inject node; the formatted JSON message will appear instantly in the right-side Debug tab.

Practical Use Cases

1. Smart Home Temperature & Humidity Monitor

An automation engineer reads MQTT sensor packets from Zigbee temperature sensors, formatting the data and dispatching alerts to Telegram when thresholds exceed 28°C.

2. Microservice Webhook Router

A developer receives Stripe webhook payments via an HTTP input node, verifies payment metadata in a function node, and writes transaction logs to MongoDB.

3. Industrial Modbus Sensor Telemetry

A factory engineer polls Modbus registers on manufacturing equipment every second, forwarding time-series metrics to InfluxDB and Grafana.

Troubleshooting and Limitations

  • Flow Backups and Version Control: Node-RED flows are stored as JSON in /data/flows.json; enable Node-RED's built-in Git project feature for full version control.
  • Long-Running Blocking Operations: Node.js operates on a single event loop; avoid blocking CPU-intensive calculations inside Function nodes to prevent stalling message flows.

Official Resources

Related tools

More options with a similar category or technology profile.

Node-RED FAQs

Node-RED is listed as a Developer Tools tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Node-RED is listed under the Apache-2.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Node-RED is listed as an alternative to Zapier. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.