To JPEG
Bake JPEG compression into your image on purpose
- images
- images
This node re-encodes your image through JPEG compression and hands the result back into the graph - not just to your screen or disk, but as an actual output you can keep processing. That distinction matters: this isn't a save node, and it isn't a preview node. It's a way to deliberately introduce JPEG's lossy artifacts as a step in your pipeline, then keep working with the compressed result.
Why you'd deliberately re-compress an image mid-workflow
The obvious reason is realism. If the images you're producing are ultimately headed toward a platform, app, or file format that's going to JPEG-compress them anyway, running them through this node earlier lets you see - and work with - what they'll actually look like after that compression, rather than judging quality against a pristine PNG that nobody downstream will ever see. It's also a legitimate way to stress-test a pipeline: feed a JPEG-compressed image into a later upscaling or restoration step and see how it holds up against compression artifacts, since real-world source images are compressed far more often than the clean renders ComfyUI produces natively.
Compare this to the pack's other JPEG node, Preview Image-JPEG: that one is a dead end for the graph - it shows a compressed preview in the UI and outputs nothing further. This node does the opposite: it doesn't produce a UI preview at all, but the compressed image keeps flowing downstream to whatever you connect next.
Inputs and outputs that matter
images(required) - the image (or batch) to compress.quality(required, 0–1, default 0.5, step 0.01) - JPEG quality, where the description is direct: this produces "low-quality JPEG format." Lower values mean more visible compression artifacts (blocking, color banding); higher values stay closer to the source but with a smaller reduction in effective quality difference. There's no explicit "off" - even at the maximum end, this is still a JPEG round-trip, not a bypass.
The single output is images (IMAGE) - the same image, now carrying JPEG compression artifacts baked in, ready for whatever comes next in your graph. This node is also flagged as an output node in ComfyUI's terms, meaning it can sit at the end of a branch on its own if you just want to see the result without wiring anything further.
Installing it
ComfyUI Manager: search ComfyUI-ReplenishNodes, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/hben35096/ComfyUI-ReplenishNodes
No model downloads or extra dependencies documented for this node.
Where people get tripped up
Using this when you meant Preview Image-JPEG. If your actual goal is just a faster-loading preview in the UI without permanently degrading the image data flowing through your graph, this is the wrong node - it bakes the compression into the output. Reach for Preview Image-JPEG instead if you don't want the artifacts to persist downstream.
Setting quality too low without realizing how visible the artifacts get. The default of 0.5 is already described by the author as producing "low-quality" output, not a mild reduction - if you're expecting something closer to a near-lossless re-save, push the value up and check the result before committing to a batch.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| quality | FLOAT | 0.500–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |