I'm using node-red to display some information about the machines in an industrial environment. LEDs to display sensor status or the indicator light status were a must.
I tried with the LED node, but I found out that they're using image files, and if you have to use several nodes, they slow down the dashboard to the point of tears.
I found an alternate solution that works much faster, though: instead of using an LED node, I pass a text string that contains the LED value in HTML using a fontawesome icon, formatted with the color, then use a regular text node to display label and value.
To do so, I use a function node, but you can also change a switch node (depending on numerical/boolean value) and a change node (to set the LED string value).
As an example, here are the different strings for green, yellow, and red lamps (I also use a grey one as default when I want to display an off LED, not pictured here):
// prepare the lamp string
var led = "<i class=\"fa fa-2x fa-circle\"></i>";
var glamp = "<a class=" + msg.machine.lamp.greenstyle + ">" + led + " " + "</font>";
var ylamp = "<a class=" + msg.machine.lamp.yellowstyle + ">" + led + " " + "</font>";
var rlamp = "<a class=" + msg.machine.lamp.redstyle + ">" + led + "</font>";
This is, by far, MUCH more efficient than the LED node, looks crispier (it's a vector icon, after all) and better (in my opinion, you can also customize the colour just by changing the LED value strings).
(EDIT) NOTE: This code fragment is to display the signal light on each machine. Therefore, I have a green, a yellow, and red lamps, and by adjusting the class value, I can have them off (in grey), on (in their colour) or blinking (animated between grey and their colour, as defined in the CSS). In the CSS, I also scaled up the icons to be bigger than the surrounding text, so they're more visible.