Browser Load Image
Load Image with a thumbnail browser you can actually see
- image
- mask
If you've got more than a dozen images in ComfyUI's input folder, the built-in Load Image node turns into a guessing game: a dropdown of filenames with no previews, and you're trying to remember which one ref_v3_final_REAL2.png actually is. BrowserLoadImage is the fix. It's the same loader, plus a visual thumbnail browser that shows you what you're picking.
The whole pitch is "drop-in." Same one input, same IMAGE and MASK outputs, same upload widget as ComfyUI's core Load Image - every existing workflow keeps working if you swap it in. What you get on top is a 浏览图片 (Browse Images) button under the dropdown.
How it works
The node itself is a standard custom node - image input, IMAGE/MASK out - and the browser is a frontend extension layered on it. Some JavaScript registers a Browse button and opens a draggable, resizable modal listing everything in your input folder as thumbnails. Hover any thumbnail for a large preview with the filename and original dimensions. There's real-time search by filename, arrow-key navigation, ESC to close, and the modal remembers its position and size in localStorage if you tick 记住窗口.
Backend is plain PIL with no extra dependencies. It runs exif_transpose so phone photos come out the right way up, converts to a float 0–1 tensor with a leading batch dimension, and builds the mask from the image's alpha channel.
Inputs and outputs
Only one input matters: image, an enum of every supported file (jpg, png, webp, bmp, tiff, gif) sitting directly in ComfyUI/input. Click the Browse button to pick visually; the filename lands in the dropdown.
The two outputs are exactly what core Load Image gives you:
image- an IMAGE tensor, ready for VAE Encode, image processing, or just a preview.mask- a MASK tensor. For an opaque PNG or any JPEG this is all zeros, which is ComfyUI's "no masked region" signal. For a PNG with transparency it's1 − alpha, so transparent areas come out white - exactly what you want feeding an inpaint or outpaint step.
Installing
ComfyUI Manager: search ComfyUI_BrowserLoadImage, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/flashcol/ComfyUI_BrowserLoadImage.git
cd ComfyUI_BrowserLoadImage
pip install -r requirements.txt
Restart ComfyUI after. This node itself needs nothing beyond Pillow, which ships with ComfyUI - but the pack's requirements.txt installs opencv-python for its two video siblings. If you only want the image node, you can skip the pip step and it still loads fine.
Common issues
- Empty dropdown. The node only lists files directly in
ComfyUI/input- nothing in subfolders. Drop files in the top level. - Node missing from the list. The pack silently hides its video nodes when
opencvcan't import, but BrowserLoadImage loads regardless. If the whole pack is absent, check the clone landed incustom_nodesand restart. - Text in Chinese. The modal is partly in Chinese - 浏览图片 is "Browse Images," 记住窗口 is "remember window." Not a bug.
- It re-runs when you change a file.
IS_CHANGEDkeys on the file's modified time, so swapping a PNG on disk re-triggers the node on the next run. Usually a feature, occasionally a surprise if you're editing in place.
Is it a must-install? No - if you live on two reference images, core Load Image is fine. But the moment your input folder grows into the dozens, this browser saves you more time in a week than the install cost in a month.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | example.png | 1 options: example.png |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |