---
title: "Node-RED（ノードレッド）とは？できること・使い方・料金と商用利用を5.0対応で解説"
url: "https://www.issoh.co.jp/tech/details/4815/"
published: 2025-01-14
updated: 2026-09-28
categories: ["自動化"]
publisher: "株式会社一創"
---

# Node-RED（ノードレッド）とは？できること・使い方・料金と商用利用を5.0対応で解説

Node-RED（ノードレッド）は、ブラウザ上で「ノード」と呼ぶ処理の部品を線でつなぎ、データの流れ（フロー）としてプログラムを組み立てるローコード開発ツールです。実行環境はNode.jsで、センサーからMQTTで届く値を加工してデータベースへ入れる、Web APIを数分で立てる、といった「つなぐ処理」を得意とします。ライセンスはApache License 2.0で、無料かつ商用利用もできます。

最新版は2026年9月8日公開の5.0.7です。5.0系はNode.js 22.9以上が必須になりました。この記事では、5.0.7をローカルで動かした結果を交えながら、できること・料金・導入・使い方・本番運用前の設定を順に説明します。

## まとめ：Node-REDの要点

- **Node-RED＝ノードをつないでフローを組む、Node.js製のローコード開発ツール**。読み方はノードレッド
- 2013年にIBMの社内プロジェクトとして生まれ、現在はOpenJS Foundationのプロジェクト。GitHubのスター数は23,691（2026年9月28日時点）
- **料金は無料。商用利用も可能**（Apache License 2.0）。有償なのは運用管理サービスのFlowFuseで、価格は問い合わせ制
- 最新は5.0.7（2026年9月8日）。**5.0系はNode.js 22.9以上が必須で、推奨は24**。Node.js 18〜20の環境やRaspberry Pi 3B以前は4.1系（4.1.15）にとどまる
- 導入は `npm install -g node-red` か `docker run -p 1880:1880 nodered/node-red`。エディタは `http://127.0.0.1:1880` で開く
- **初期状態のエディタには認証が無く、全IPv4アドレスで待ち受ける**。LANやクラウドに置く前に `adminAuth` を設定する
- 画面付きのダッシュボードは旧 `node-red-dashboard` が保守終了。新規は `@flowfuse/node-red-dashboard` を使う

## Node-REDの仕組み：ノード・フロー・msgの関係

Node-REDの画面（フローエディタ）には、左に部品一覧（パレット）、中央に作業領域があります。「inject（一定間隔で発火）」「http in（HTTPリクエストを受ける）」「mqtt in（MQTTを購読する）」などのノードを置き、出力端子から次のノードの入力端子へ線を引くと、上流から下流へ `msg` というJavaScriptオブジェクトが順に渡されます。主な値は `msg.payload` に入り、各ノードがそれを書き換えて次へ送ります。

画面右上の「デプロイ」を押すと、組んだフローがサーバー側のNode.jsプロセスで動き始めます。フローは `flows.json` というJSONファイルに保存されるため、ファイルごとバックアップやGit管理ができます。条件分岐やデータ整形のような既存ノードで足りない処理は、「function」ノードにJavaScriptを数行書いて補います。完全なノーコードではなく、定型部分をノードで済ませ、固有の処理だけをコードで書く道具と捉えると実態に近いです。

### 名前の由来と開発の経緯

[公式サイトの沿革](https://nodered.org/about/)によると、Node-REDは2013年初めにIBM Emerging Technology ServicesのNick O’Leary氏とDave Conway-Jones氏が始めた副業的なプロジェクトで、当初はMQTTのトピック間の対応づけを可視化する試作でした。同年9月にオープンソース化され、npmへの初回公開は2013年9月27日です。2016年10月にJS Foundationの創設プロジェクトとなり、2019年に同財団とNode.js Foundationが統合してOpenJS Foundationになりました。2021年にはO’Leary氏が企業向けの運用基盤を提供するFlowFuse社を設立しています。

名前は「Code Red」をもじった言葉遊びで、「Node」はフロー型のノードとNode.jsの両方を指します。「RED」が何の略かは公式にも決まっていません。

## Node-REDでできること：用途と使うノード

Node-REDが向くのは、機器・API・データベースの間でデータを受け取り、形を変えて渡す処理です。標準ノードと追加ノードの組み合わせで、次のような処理を組めます。

| やりたいこと     | 主に使うノード                      | 補足              |
| ---------- | ---------------------------- | --------------- |
| センサー値の収集   | mqtt in／serial in            | MQTTは標準、シリアルは追加 |
| Web APIの作成 | http in → http response      | 標準ノードのみで可       |
| 外部APIの呼び出し | http request                 | 定期実行はinjectと組む  |
| データの整形・分岐  | change／switch／function       | JSONata式も使える    |
| DBへの保存     | 各DB用の追加ノード                   | パレット管理から導入      |
| 画面での可視化    | @flowfuse/node-red-dashboard | グラフ・ボタン・入力欄     |

MQTTの受け口になるブローカー側の仕組みは[MQTTブローカーとは？仕組み・主要ブローカー比較・構築手順を解説](/tech/details/3894/)で、工場設備のデータをMQTT上で扱う規約は[Sparkplug Bとは？MQTT上の産業データ規約と状態管理を実装目線で解説](/tech/details/16864/)で詳しく扱っています。

### 活用例：製造現場・IoT・家庭の自動化

Node-REDで構成できる用途例を挙げます。

- **製造現場のデータ収集**：PLCや設備からOPC UA・Modbus・MQTTで値を取り、稼働状況をダッシュボードに出す。設備データをERPやデータベースへ渡す中継役にもなる
- **IoTゲートウェイ**：Raspberry Piなどの小型機に入れ、GPIOやシリアルで読んだ値をクラウドのMQTTエンドポイントへ送る。AWS側の受け口は[AWS IoT Coreとは？機能・料金・MQTT接続方法をまとめて解説](/tech/details/2991/)が参考になります
- **家庭の自動化**：スマート家電のAPIや温湿度センサーをつなぎ、条件に応じて家電を動かす。構成の組み方は[ラズパイでスマートホームを自作する方法｜構成の選び方とPi 5世代のGPIO変更](/tech/details/1926/)で解説しています

### ダッシュボードの選定：FlowFuse Dashboard

長く使われてきた `node-red-dashboard`（npm上の最新は2025年8月7日公開の3.6.6）は、npmで「No longer maintained」と表示される非推奨パッケージです。代替として示されているのは、FlowFuse社が開発する `@flowfuse/node-red-dashboard`（Dashboard 2.0、2026年9月28日時点で1.32.0）と `node-red-contrib-uibuilder` です。古い解説記事の手順どおりに旧ダッシュボードを入れると、保守の止まった部品を抱えることになるので、新規構築では前者を選びます。

## Node-REDの料金と商用利用の条件

Node-RED本体に料金はかかりません。自分のPC・サーバー・クラウドのVMで動かす場合も、本体の利用料とは別に、計算資源・通信・外部API・保守運用などの費用が構成に応じて発生します。

### Apache License 2.0で商用利用できる範囲

Node-REDは[Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)で公開されています。社内システムに組み込む、Node-REDで作ったフローを顧客に納品する、自社製品に同梱して販売する、といった商用利用はいずれも可能です。再配布では、ライセンスの写しの提供、改変ファイルへの変更の明示、配布する派生物のソースに含まれる関連する著作権・特許・商標・帰属表示の保持が必要です。元の配布物にNOTICEがある場合は、関連する帰属表示も所定の形で含めます。

注意したいのは、追加でインストールするノード（コントリビュートノード）のライセンスが個別に決まっている点です。多くはApache-2.0やMITですが、製品に同梱して配る場合は、使うノードの `package.json` の `license` 欄を1つずつ確認してください。

### 有償の選択肢：FlowFuse

複数台のNode-REDを一元管理したい、ユーザー管理や監査ログが必要、といった企業向けの要件には、FlowFuse社の有償サービスがあります。[料金ページ](https://flowfuse.com/pricing/)（2026年9月28日確認）では、OT向けのEdge、IT向けのHub、多数の端末向けのFleetの3製品に分かれ、いずれも価格は「Contact Us（問い合わせ）」です。提供形態はFlowFuse Cloudと、DockerやKubernetesで自社環境に置くセルフホストの2通りです。Node-RED本体を使うだけならFlowFuseの契約は不要です。

## Node-REDのインストール手順（5.0系）

### Node.jsの版の選び方

Node-REDは版ごとに必要なNode.jsが違います。npmレジストリの `engines` 指定と公式の変更履歴では次のとおりです。

| Node-RED | 最新（公開日）            | 必要なNode.js   |
| -------- | ------------------ | ------------ |
| 5.0系     | 5.0.7（2026-09-08）  | 22.9以上（推奨24） |
| 4.1系（保守） | 4.1.15（2026-09-09） | 18.5以上       |

4.1系はnpmの `v4-maintenance` タグで保守リリースが続いています。ただしNode.js 18と20はどちらも保守期間が終わっているため、4.1系＋Node.js 20以前の組み合わせは、既存機器を動かし続けるための暫定運用と考えてください。新規に構築するならNode.js 24と5.0系を選びます。Node.js自体の版の選び方は[Node.jsとは？仕組み・版の選び方・標準機能で動かす手順を実装目線で解説](/tech/details/17433/)を参照してください。

### npmによるNode-REDのインストールと起動

Node.jsが入っていれば、npmで全体にインストールします。Windowsでは先頭の `sudo` を付けません。

```
sudo npm install -g node-red
node-red
```

起動ログに `Server now running at http://127.0.0.1:1880/` と出たら、ブラウザでそのURLを開くとフローエディタが表示されます。フロー・設定・追加ノードは、ホームディレクトリの `.node-red` フォルダ（ユーザーディレクトリ）に保存されます。

### DockerによるNode-REDの起動とデータ永続化

公式のDockerガイドにある最小構成は次のコマンドです。`-v node_red_data:/data` を付けないと、コンテナを作り直したときにフローが消えます。

```
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
```

Docker Hubのタグは版の選び方に直結します。2026年9月28日時点で `latest` は5.0.7（Node.js 24）ですが、`latest-22` は4.1.15（Node.js 22）を指しています。「Node.js 22のイメージなら5.0系が動くはず」と `latest-22` を選ぶと4.1系が入るので、5.0系を固定したいときは `nodered/node-red:5.0.7` のように版を書きます。Docker自体の導入は[Dockerとは｜仮想マシンとの違い・必要スペック・インストール手順を解説【2026年版】](/tech/details/6857/)で解説しています。

### Raspberry Piへの導入と自動起動設定

Raspberry PiなどDebian系のOSには、Node.jsとNode-REDをまとめて入れる公式スクリプトがあります。

```
bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/install-update-nodered-deb)
node-red-start
sudo systemctl enable nodered.service
```

3行目を実行しておくと、電源投入時にNode-REDが自動で起動します。同じスクリプトを再実行すると、Node.jsとNode-REDの更新にも使えます。なお5.0系は64ビットOSが前提です。Node.jsプロジェクトが32ビットARM（arm/v7）向けのイメージを作らなくなったため、[5.0の公開告知](https://nodered.org/blog/2026/06/09/version-5-0-released)で64ビットOSを動かせないRaspberry Pi 3B以前はサポート対象外と明記されました。Docker Hubの5.0.7イメージもamd64とarm64だけで、arm/v7版があるのは4.1系（`4.1.15-22` など）です。

## Node-REDの使い方：HTTP APIを1本作る手順

ノードをつなぐ操作の流れを、「`/hello?name=issoh` にアクセスするとJSONを返すAPI」を例に示します。

1. パレットの「ネットワーク」から「http in」を作業領域へドラッグし、URLに `/hello`、メソッドにGETを設定する
2. 「function」ノードを置き、下のコードを書く
3. 「http response」ノードを置き、http in → function → http response の順に線でつなぐ
4. 右上の「デプロイ」を押し、ブラウザかcurlで `http://127.0.0.1:1880/hello?name=issoh` を開く

functionノードに書くコードです。クエリ文字列は `msg.req.query` に入っています。返す `at` はUTCの日付で、日本時間の午前9時より前は前日になります。

```
const name = msg.req.query.name || "guest";
msg.payload = { message: `hello ${name}`, at: new Date().toISOString().slice(0, 10) };
return msg;
```

Node-RED 5.0.7（Node.js v26.5.0）で実行すると、次のJSONが返りました。

```
$ curl "http://127.0.0.1:1880/hello?name=issoh"
{"message":"hello issoh","at":"2026-09-28"}
```

動きを確かめたいときは、functionノードの出力に「debug」ノードをつなぎます。右側のデバッグタブには初期設定で `msg.payload` が表示され、`msg` 全体を見たいときはdebugノードの出力を「msgオブジェクト全体」に切り替えます。

### フローの書き出しと読み込み

組んだフローは、右上のメニュー「書き出し」でJSONとして取り出せ、「読み込み」で別のNode-REDへ貼り付けられます。上のAPIをJSONで書くと次の形になり、これを読み込めば同じフローが再現されます。

```
[
  {"id":"h1","type":"http in","url":"/hello","method":"get","wires":[["f1"]]},
  {"id":"f1","type":"function","func":"const name = msg.req.query.name || \"guest\";\nmsg.payload = { message: `hello ${name}`, at: new Date().toISOString().slice(0, 10) };\nreturn msg;","outputs":1,"wires":[["r1"]]},
  {"id":"r1","type":"http response","wires":[]}
]
```

## Node-RED 5.0の変更点と4.xからの移行

5.0.0は2026年6月9日に公開されました。公式の変更履歴と公開告知から、利用者に影響する主な点を挙げます。

- **Node.js 22.9以上が必須**（推奨は24）。4.x時代の18〜20の環境ではそのまま上げられない。Raspberry Pi 3B以前もサポート対象外になった
- パレット管理が使うnpmをNode-RED自体に同梱し、別途npmが入っていなくても追加ノードを導入できるようになった。管理APIの既定のCORS設定は削除された
- エディタのサイドバーを刷新し、2つのパネルに分割できるようになった。ダークテーマが標準で入った
- functionノードからLink Inノードを直接呼び出せるようになった
- ESモジュール形式のノードをインストールできるようになった
- 新規に作られる資格情報ファイル（`flows_cred.json`）の置き場所が、ユーザーディレクトリではなくフローファイルの隣になった
- TLS設定でpfx・p12ファイルと、環境変数からの証明書読み込みに対応した。delayノードにバースト、デバッグタブに一時停止が加わった

移行の順番は、Node-REDを止めてユーザーディレクトリ（`flows.json`・`flows_cred.json`・`settings.js`・追加ノードを含むフォルダ全体）をバックアップ → Node.jsを22.9以上に上げる → `npm install -g node-red@5` の順です。資格情報はsettings.jsの `credentialSecret`、未設定なら自動生成された鍵で暗号化されているため、フローのファイルだけを移すと復号できないことがあります。5.0.1〜5.0.7は不具合修正と依存ライブラリの更新が中心で、5.0.6ではbcryptライブラリの更新が一部のOS・CPUで動かない問題のため取り消されています。

## 本番運用前に必ず入れるセキュリティ設定

Node-REDで最も見落とされやすいのは、**初期状態のエディタに認証が無い**ことです。付属の `settings.js` では `adminAuth` がコメントアウトされ、待ち受けは「全IPv4インターフェース」です。5.0.7を初期設定のまま起動し、フロー一覧を返す管理API（`GET /flows`）を叩くと、認証なしでステータス200が返りました。同じネットワークにいる誰でもフローを読み書きでき、execノードを置けばサーバー上でコマンドも実行できる状態です。

### adminAuthによるエディタ・管理APIの認証設定

まずパスワードのハッシュを作ります。npmで全体にインストールした環境なら次のコマンドで、パスワードを聞かれるので入力します。

```
node-red admin hash-pw
```

表示された `$2y$08$` で始まる文字列を、ユーザーディレクトリの `settings.js` で、既存の `module.exports = { ... }` の内側に次の設定を記述し、`password` の値全体を生成されたハッシュで置き換えます。

```
adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "$2y$08$（hash-pwの出力）",
        permissions: "*"
    }]
},
```

この設定で再起動すると、`GET /flows` は401を返し、エディタにはログイン画面が出ました。

### 待ち受けアドレス・資格情報の暗号鍵・HTTPS

- **待ち受けの限定**：同じマシンからしか使わないなら `uiHost: "127.0.0.1"` を設定する。外から使う場合もリバースプロキシやVPNの内側に置く
- **資格情報の暗号鍵**：`credentialSecret` を設定しないと、起動ログに「システム生成の鍵で暗号化している。鍵を失うと資格情報を復元できない」と警告が出る。別サーバーへ移す可能性があるなら自分で鍵を決めておく
- **HTTPS**：`settings.js` の `https` に証明書と秘密鍵を指定するか、TLSを終端するリバースプロキシの後ろに置く
- **http inノードで作ったAPI**：`adminAuth` が守るのはエディタと管理APIだけ。http inで公開するエンドポイントには `httpNodeAuth` で別にBasic認証を付けるか、プロキシ側で守る

## Node-REDが向かない場面とn8n・Zapierとの使い分け

Node-REDは「機器やプロトコルに近いところでデータを流す」道具です。SaaS同士をつなぐ業務自動化や、大量データの集計処理が主目的なら、別の選択肢の方が合います。

| 項目    | Node-RED     | n8n                     | Zapier       |
| ----- | ------------ | ----------------------- | ------------ |
| 得意分野  | IoT・機器・プロトコル | SaaS・AIの業務連携            | SaaS連携（非開発者） |
| 動かす場所 | 自前（端末〜クラウド）  | 自前またはクラウド               | クラウドのみ       |
| ライセンス | Apache-2.0   | Sustainable Use License | 商用SaaS       |
| 本体の費用 | 無料           | 自前は無料版・有料版あり／クラウドは有料    | タスク数で課金      |

選ぶ基準ははっきりしています。MQTT・シリアル・Modbusのように機器側のプロトコルを扱う、あるいはネットワークの切れる現場の端末上で動かす必要があるなら、Node-REDが第一候補です。SlackやGoogleスプレッドシートなどSaaSの連携が中心で、用意された連携部品の多さを重視するならn8nかZapierの方が手数が少なく済みます。比較の詳細は[n8nとは？読み方・できること・料金・始め方をわかりやすく解説【2026年版】](/tech/details/6998/)と[Zapierとは？読み方・できること・料金とタスク課金の仕組み【2026年版】](/tech/details/15956/)を参照してください。

Node-REDを採用すべきでない場面もあります。

- **1つのフローに業務ロジックの大半を詰め込む設計**：functionノードが数百行になると、テストもコードレビューも通常のプログラムより難しくなる。ロジックが育つ見込みがあるなら、最初から通常のアプリケーションとして書く
- **複数台での冗長化が必須の処理**：Node-RED単体は1プロセスで動き、フローの状態（コンテキスト）も標準ではメモリかローカルファイルに置く。複数台でのフェイルオーバーを組む仕組みは持たないため、可用性の要件が厳しい基幹処理はキューやワークフローエンジンを前提に設計する
- **複数人で同じフローを並行編集する体制**：プロジェクト機能でGit管理はできるが、`flows.json` の差分は読みにくく、衝突の解消が手作業になりやすい

## Node-REDに関するよくある質問

### Node-REDの読み方は？

「ノードレッド」と読みます。「Node」はノードとNode.jsの両方を指し、「RED」は「Code Red」をもじった言葉遊びに由来します。

### Node-REDは無料ですか？商用利用できますか？

無料で、商用利用もできます。ライセンスはApache License 2.0です。社内システムへの組み込みや製品への同梱は可能ですが、再配布ではライセンスの写しの提供に加え、変更の明示、関連する各種表示の保持、NOTICEの帰属表示の扱いなど、第4条の条件に従います。追加ノードはノードごとにライセンスが異なるので個別に確認してください。

### プログラミングの知識がなくても使えますか？

決まった形の処理は、ノードをつなぐだけで組めます。ただし条件分岐やデータ整形を細かく書く場面ではfunctionノードにJavaScriptを書くことになるため、JavaScriptの基本とJSONの読み書きができると作れる範囲が大きく広がります。

### Node-REDを使うには何が必要ですか？

Node.jsが動くPC・サーバー・Raspberry Piがあれば使えます。最新の5.0系はNode.js 22.9以上と64ビットOSが必要で、条件を満たさない機器では4.1系を使います。Dockerが使える環境ならNode.jsを入れずにコンテナで起動することもできます。

### TypeScriptで開発できますか？

functionノードに書くのはJavaScriptです。TypeScriptで書きたい場合は、自作ノードとしてTypeScriptで実装し、JavaScriptにビルドしたものをnpmパッケージとしてNode-REDに入れる形になります。5.0からはESモジュール形式のノードもインストールできるようになりました。

## 関連記事

- [Node.jsとは？仕組み・版の選び方・標準機能で動かす手順を実装目線で解説](/tech/details/17433/)
- [MQTTブローカーとは？仕組み・主要ブローカー比較・構築手順を解説](/tech/details/3894/)
- [n8nとは？読み方・できること・料金・始め方をわかりやすく解説【2026年版】](/tech/details/6998/)
- [ラズパイでスマートホームを自作する方法｜構成の選び方とPi 5世代のGPIO変更](/tech/details/1926/)

---

出典: [Node-RED（ノードレッド）とは？できること・使い方・料金と商用利用を5.0対応で解説](<https://www.issoh.co.jp/tech/details/4815/>)（株式会社一創）
