Show Text
Finally See What Your Text Pipeline Is Actually Outputting
- STRING
The most common debugging move in ComfyUI is pointing at a node and asking "what is this actually producing?" For images you have a preview. For text you have... nothing, unless you install one of the many show-text clones floating around. Show Text is this pack's version of that node, and it's a good one.
You wire a STRING into it, run the workflow, and the text appears right on the node - read-only, slightly dimmed so you know it's output rather than input. That's the whole job, and it does it without ceremony.
How it works
Under the hood it's a standard output node with a frontend extension (web/js/text/show.js). When the graph executes, the node receives its text and the extension redraws the node's widgets to display the value inline. A couple of details are worth knowing:
- It accepts a list.
INPUT_IS_LIST = TrueandOUTPUT_IS_LIST = (True,)mean it can take multiple strings at once and render each one as its own read-only widget. That's handy when you're debugging a batch of prompts or an LLM returning several candidates. - It saves your text into the workflow. The node reads its hidden
UNIQUE_IDandEXTRA_PNGINFOand writes the displayed value back into the saved workflow JSON. So if you share or reopen the workflow, the last run's output is still there in the file rather than evaporating. Nice touch most show-text clones skip. - The output
STRING(as a list) is still there if you want to chain it onward - it's an output node, not a dead end.
Install
It's one of eleven nodes in geocine-comfyui. Install the pack once, and this plus its sibling Preview Text (same idea, but with a JSON pretty-print toggle) show up together:
- ComfyUI Manager → search geocine-comfyui → install → restart
- or Comfy CLI:
comfy node install geocine-comfyui - or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/geocine/geocine-comfyui
then restart ComfyUI.
What to watch for
"Why is nothing showing?" If the input isn't wired - or the upstream node didn't actually produce text - the node will sit there empty. This node is a terminal display: it does not generate or transform anything, and it only shows what arrives on the wire. Also, since it forces the text input (forceInput: true), you can't just type a value into it - it wants a connection, which is correct behavior for a debug tap but throws people the first time.
If your output looks like a raw dictionary or a ['...'] Python repr, that's not the node misbehaving - that's the upstream node sending a list or structured data. See if Preview Text with format_json on makes it more readable.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |