Node-RED
Low-code programming for event-driven applications and IoT devices.
Open the official app on nodered.org
This tool is hosted by its maintainers. Click below to open nodered.org in a new tab — it's their official demo.
Browse developer tools →What's next with Node-RED?
Choose how you want to get started.
Use it free
Open the official tool or demo — no account needed.
Self-host it
Run the open-source version on your own infrastructure.
What is Node-RED?
Node-RED is an open-source tool designed for building event-driven applications using low-code programming. Its primary purpose is to enable users to collect, transform, and visualize real-time data through intuitive flow creation. Developed on Node.js, it leverages an event-driven, non-blocking architecture to handle data streams efficiently. The tool is widely used by hobbyists, developers, and industrial engineers for tasks ranging from home automation to complex industrial control systems. It addresses the challenge of rapid application development by abstracting complex programming logic into visual nodes, allowing users with varying technical backgrounds to automate workflows without writing extensive code. The active community has contributed over 5,000 nodes and flows, accelerating deployment across diverse scenarios like IoT devices, cloud integration, and edge computing.
How it works
Node-RED is a web-based tool built on Node.js that simplifies the creation of event-driven applications through a graphical interface. Users connect pre-built 'nodes' to design workflows, enabling tasks like data processing, device communication, and automation without writing traditional code. Its core purpose is to bridge the gap between complex programming and user-friendly automation. By abstracting low-level coding, it users to build applications for IoT, home automation, and industrial systems without deep programming expertise. Node-RED excels at real-time data handling, supporting integration with hardware like Raspberry Pi, Arduino, and cloud platforms such as AWS and Azure. It provides nodes for data transformation, API calls, and visualization, with a focus on edge computing and lightweight deployment on devices like BeagleBone Black.
How to use it
- 1Install Node.js and Node-RED via npm: `npm install -g node-red`.
- 2Launch the tool by running `node-red` in the terminal, which opens a web interface at http://localhost:1880.
- 3Drag and drop nodes (e.g., inject, function, debug) onto the canvas to create a flow.
- 4Connect nodes with wires to define data pathways and deploy the flow using the 'Deploy' button. Practical tips: Use the 'Edit' mode to configure node parameters, test flows with simulated data, and leverage the 'FlowFuse' plugin for cloud integration. Always validate node compatibility with your hardware or API before deployment.
What it can do
- iot flow programming
Use cases
Assumptions and limitations
Assumptions
- source: https://github.com/node-red/node-red
- license: Apache-2.0 — free to use
- privacy: Self-hosted — you control your data
Limitations
- Limited advanced debugging tools for complex flows
- Requires Node.js runtime, which may complicate deployment in restricted environments
- Steep learning curve for users unfamiliar with event-driven programming concepts
- Scalability challenges for ultra-high-throughput data pipelines
- Hardware compatibility issues with specialized industrial devices
Understanding the result
Low-code programming for event-driven applications and IoT devices.
Tool details
- Clearly flagged when a network request is needed.
- No account, no sign-up, and no tracking of your content.
- Powered by (Apache-2.0).
- Built with
- (node-red/node-red)
- License
- Apache-2.0
- Runs locally
- No — requires a network request
- Verification
- Not yet verified
- Input
- Query
- Output
- Text
Built with node-red/node-red. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- Apache-2.0
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- Apache-2.0 License
Upstream project
Frequently asked
How do I install Node-RED on a Raspberry Pi?
Install Node.js using `sudo apt install nodejs` then run `npm install -g node-red`. Launch it with `node-red` and access the UI at http://raspberrypi.local:1880. Ensure the Raspberry Pi's network settings allow local access to the interface.
How does Node-RED handle asynchronous data streams?
Node-RED uses Node.js's event loop to process data asynchronously. When a node receives data, it triggers the next node in the flow without blocking the main thread. This model enables efficient handling of real-time data from IoT devices, APIs, or sensors while maintaining system responsiveness.
How do I create a flow to control an LED via Arduino?
1. Connect the Arduino to your computer and install the 'arduino' node. 2. Add an 'inject' node to trigger the flow. 3. Use a 'function' node to send HIGH/LOW signals to the Arduino's digital pin. 4. Add an 'arduino' node configured with your board's serial port. 5. Deploy the flow and test by triggering the inject node to toggle the LED.
How does Node-RED compare to Zapier or Python scripts?
Node-RED differs from Zapier by offering deeper customization through code nodes and direct hardware integration. Compared to Python scripts, it provides a visual interface for rapid prototyping but lacks Python's versatility for complex algorithmic tasks. It excels in IoT workflows where visual debugging and real-time data flow are critical.
How do I troubleshoot a 'Failed to connect' error with a cloud service?
Verify the cloud service's API endpoint and authentication credentials in the node configuration. Check firewall settings to ensure outbound traffic on required ports (e.g., 443 for HTTPS). Use the 'debug' node to inspect request payloads and response codes. If the issue persists, consult the node's documentation or community forums for protocol-specific troubleshooting.