easy showTensorShape
Easy showTensorShape – ComfyUI Node Guide
- tensor
When two nodes refuse to connect, or a node runs but errors out mid-execution with something cryptic about dimensions not matching, the actual problem is almost always a shape mismatch - a batch of 4 latents meeting a node that expected 1, or a mask with the wrong number of channels. easy showTensorShape exists purely to answer "what shape is this thing, actually?" without you having to add a print statement to someone else's node code.
What it does. One required input, tensor, typed as a bare wildcard - feed it an IMAGE, LATENT, MASK, or any other tensor-shaped object flowing through your graph, and it displays the dimensions directly on the node. It has no outputs at all; this is purely a debug readout, marked an output node in its own right rather than something you chain further downstream.
Why this matters more than it sounds like it should. ComfyUI's type system checks that socket types match (you can't wire an IMAGE into a MODEL input), but it doesn't check tensor shapes - a batch-of-4 IMAGE and a batch-of-1 IMAGE are the same type as far as the graph is concerned, and ComfyUI will happily let you connect them. The failure only shows up at runtime, often several nodes downstream of where the actual mismatch was introduced, with an error message that names a tensor operation rather than the node that caused it. Dropping easy showTensorShape at a few checkpoints along your graph - right after a batch node, right before a node you suspect is choking - turns "somewhere in this workflow the shapes don't line up" into "here, exactly, is where the shape changed to something unexpected."
What the numbers actually mean. ComfyUI's tensor conventions are consistent enough to be worth memorizing: an IMAGE batch reads as [batch, height, width, channels], so a shape like [4, 512, 512, 3] is four RGB images at 512×512, and if you see a trailing 4 instead of 3 you've got an alpha channel riding along (common right after a LayerDiffusion pass, for instance). A LATENT is [batch, channels, height/8, width/8] - the 8x downscale is the VAE's compression ratio, so a 512×512 image becomes a 64×64 latent, and if that math doesn't line up with what you expected, that's usually the actual bug. MASK tensors drop the channel dimension entirely. Once you know what "normal" looks like for each type, a shape that's obviously off - a 1 where you expected a 4, a 512 where you expected 64 - jumps out immediately.
Install. ComfyUI Manager (search "ComfyUI Easy Use") or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then restart. No dependencies beyond the base pack.
Common issues. There isn't much that goes wrong with this node itself - it's about as low-risk as debug tooling gets. The one thing to know is it's a dead end by design: since it has no output socket, you can't leave it wired permanently into a working pipeline the way you can with easy showAnything (which passes its input through). Treat it as a temporary probe: drop it in while you're chasing down a shape bug, read the number, then pull it back out once you've found the mismatch - it's not meant to live in a finished workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| tensor | * | — |
Outputs (0)
No outputs