Show Text [LP]
Always runs, always shows you the string, connected or not
- STRING
The plain, reliable half of this pack's two text-display nodes. Show Text does exactly one thing: put a string on screen so you can read it, every single time the workflow runs, whether or not anything downstream cares about the result. It's the node you drop in mid-graph purely to check that a value looks like what you expected - a prompt after some text manipulation, a value pulled out of a JSON response, a tag string after filtering - before trusting it further down the pipeline.
What it does
Wire text in, and it displays that text on the node itself, unconditionally, on every run. That "unconditionally" is the entire distinction between this node and its sibling, Show Text Bridge: that one only fires if something's actually connected to its output, which makes it the right choice inside loops and conditional branches where a display step shouldn't always execute. This one has no such restraint - it's built to always execute, specifically so it's dependable as a debugging checkpoint regardless of how the rest of the graph is wired around it.
Inputs and outputs that matter
text(required) - the string coming in. There's no default value shown on the node itself, which means this is meant to be wired from an upstream node rather than typed directly into a widget - if you need to type text in by hand, reach for this pack's String node instead and feed its output here.
Output: STRING, and it's a list-typed output - meaning if you feed it something that resolves to multiple strings at once (say, from a batch or a loop), it can carry all of them through rather than just one.
Installing it
Through ComfyUI Manager, search "ComfyUI Level Pixel" or "ComfyUI-LevelPixel." Or:
cd ComfyUI/custom_nodes
git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git
Restart ComfyUI. No dependencies beyond the pack itself.
Where people get burned
The main mix-up is reaching for this node inside a loop or conditional workflow where you actually wanted the Bridge behavior. Because Show Text always runs, dropping it into a branch that's meant to be skippable will still execute it every pass, which can slow down or clutter a workflow that's specifically designed around conditional execution. If you're inside a loop and the display step should only fire when the branch is actually taken, use Show Text Bridge instead - this node is for the simpler, always-on case, typically outside any loop logic, where you just want a dependable window into what a value currently is.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |