Over time my Node-RED project has grown quite a bit, and I often found myself spending more time than I wanted answering simple questions such as:
-
Where is this flow variable read or written?
-
Where is this topic/string used?
-
Which Functions use a particular value?
-
Does this Function have unused or unconnected outputs?
-
Which are the largest Functions in the project?
-
What's actually inside this subflow?
So I built Node-RED Flow X-Ray, a small read-only tool for inspecting exported Node-RED flows.
You simply open the HTML file in a browser and load your flows.json.
It can currently:
-
search across all Function nodes and jump directly to the matching Function and line
-
trace
flow.get()andflow.set()usage -
inspect tabs and subflows
-
analyse Change nodes when they access flow context
-
show a compact project overview
-
identify unconnected Function outputs
-
show the largest Functions
-
perform a small Function Check for output usage, out-of-range outputs and repeated output assignments
Everything runs locally in the browser. The flow file is not uploaded anywhere, there is no server involved, and Flow X-Ray never modifies the Node-RED project.
I deliberately kept it simple: it is meant to help investigate a project, not to automatically rewrite or “improve” anyone's flows.
More information and screenshots:
Feedback is very welcome, particularly from people with reasonably large Node-RED projects — those are the ones that inspired it in the first place.

