Nodes/Doss Node Suite/Doss Image Comparer
ComfyUI Node

Doss Image Comparer

A/B test generations with a slide, right inside the node

By JamesDanielDoss·Created 3 months ago·Updated 6 days ago· 1
Doss Image Comparer
  • image_a
  • image_b
  • image_a
  • image_b
comparer_modeSide By Side

Half of ComfyUI is generating the second image. Same prompt, one seed off. New checkpoint against old. Before and after an upscale. And every time, you end up squinting at two separate previews and trying to remember which one was which. Doss Image Comparer is the small node that fixes that: it shows both images at once - side by side, or behind a draggable split - drawn directly on the node's own canvas. No popout window, no floating preview to chase around.

The differentiator is that it's not a dead end like a plain preview. It passes the actual image tensors through, so you can drop it mid-graph, compare, and keep both outputs flowing to whatever comes next.

How it works

Mechanically it's two halves. On the backend, DossImageComparer subclasses ComfyUI's own PreviewImage node, so it reuses the same save_images machinery to write temp previews and hand them to the frontend. The JavaScript then draws those previews on a canvas inside the node.

In Side By Side mode, image_a is locked to the left and image_b to the right. In Slider mode, the divider follows your cursor and crops image_a to the left of the split and image_b to the right, with corner labels A: Original and B: Result. Because it never sets node.imgs or returns generic ui.images, ComfyUI doesn't spawn the usual floating preview - the author explicitly stripped that out in v0.1, and it's the right call. One image only? It still draws and returns it safely.

Inputs and outputs that matter

Only three inputs, and two of them are images:

  • image_a - required IMAGE. Whatever you're calling the "before"/original.
  • image_b - optional IMAGE. The "after"/result. Leave it unplugged and, if image_a is a batch of two or more, the node quietly compares the first two frames of that batch.
  • comparer_mode - the dropdown, and it's just Side By Side and Slider. No hidden modes.

Outputs are image_a and image_b, both IMAGE, and they're the original tensors passed through unchanged. One trap worth knowing: when there's no second image, the image_b output just mirrors image_a. Wire it somewhere expecting a real second result and you'll silently get a duplicate.

Installing it

Same story as the rest of the pack - ComfyUI Manager, search "Doss Node Suite", or:

cd ComfyUI/custom_nodes
git clone https://github.com/JamesDanielDoss/Doss-Node-Suite.git

Restart ComfyUI. That's the whole install: zero third-party dependencies, no model files, no downloads. The heavy lifting is ComfyUI's own preview pipeline plus some canvas drawing.

Gotchas and honest caveats

This pack shipped in June 2026 and has essentially no community track record yet. The comparer most people already have is rgthree's Image Comparer, which is the battle-tested default - and which ComfyUI's 2025 frontend rewrite famously broke for a while, so alternatives have a reason to exist. Doss's version is smaller: no click-to-pick-a-winner output, no cycling modes. But what it does, it does in-node and chainably, and it's refreshingly light. If you're happy with rgthree, you don't need this. If you want a comparer that keeps the tensors moving, it's a solid lightweight second option.

Practical stuff: resize the node if previews look small - the widget redraws to its bounds. And remember it's marked as an output node, so ComfyUI treats it like a terminal for execution ordering even though data flows through it.

Category⚡ Doss Node Suite

Inputs (3)

NameTypeDefaultDescription
image_aIMAGE
comparer_modeCOMBOSide By Side2 options: Side By Side, Slider
image_boptIMAGE

Outputs (2)

NameTypeDescription
image_aIMAGE
image_bIMAGE