Open-source project
talesofai/comfyui-browser avatar
talesofai/comfyui-browser

comfyui-browser: a Git-backed browser for ComfyUI outputs and workflows

An image/video/workflow browser and manager for ComfyUI.

677 stars72 forksSvelteLicense varies

At a glance

What is it?
comfyui-browser is a ComfyUI custom node that adds a browser dialog for outputs, a Saves collection you can push to Git, and subscribable workflow sources. It is useful if you already run ComfyUI locally and want your workflows under version control.
Who is it for?
Adopt comfyui-browser if you run your own ComfyUI instance and want workflow files tracked in Git rather than scattered across the output folder. Skip it if you need a hosted or mobile workflow library, or if you cannot install custom nodes on your ComfyUI host.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 40 days ago.
What is it written in?
Mainly Svelte, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What comfyui-browser adds to a stock ComfyUI install

ComfyUI writes generated images and videos into an output folder and keeps workflows as JSON files you save by hand. Once you have a few hundred generations, that folder becomes the interface: you scroll it, you guess which workflow produced which image, and you copy workflow JSON between machines with a chat app. comfyui-browser is aimed at exactly that gap. The README describes it as "an image/video/workflow browser and manager for ComfyUI" and lists four jobs: browsing and managing images, videos and workflows in the output folder; adding workflows to a Saves collection so they can be switched and managed; syncing that collection anywhere through Git; and subscribing to external workflow sources over Git. A search box filters workflows by keyword. The intended user is someone running ComfyUI on their own machine or server who treats workflows as files worth keeping, not a hosted service user. The repository also ships two custom nodes, Select Inputs and XYZ Plot, which are separate from the browser itself and are described as selecting inputs of the current graph and filling in values for a simple XYZ plot.

How the Svelte frontend, aiohttp backend and Git sync fit together

The repository layout makes the architecture explicit. The root __init__.py is the backend server, and the README names aiohttp as the backend framework, the same one ComfyUI uses, so the node runs inside the ComfyUI process rather than beside it. The web directory holds frontend code loaded by ComfyUI, split into a build folder compiled from Svelte and an index.js that interacts with ComfyUI. The svelte directory is a second frontend, described in the README as the frontend in the modal rendered as an iframe. So there are two surfaces: a small integration layer that ComfyUI loads, and a larger Svelte application shown in a dialog. Pressing B toggles that browser dialog. Persistent state lives in directories rather than a database. The pyproject.toml default configuration names four paths: collections, download_logs, outputs and sources, with outputs defaulting to whatever ComfyUI uses for --output-directory. Git is the sync mechanism for collections and the subscription mechanism for sources. That design means your Saves are just files in a directory that happens to be a Git working tree, which is why the README can promise you can use them everywhere.

Installing comfyui-browser and opening it for the first time

The documented path is ComfyUI Manager. Install ComfyUI Manager, then search for comfyui-browser under Install Custom Node and install it from there. The manual path is a clone into custom_nodes followed by a ComfyUI restart. The README gives this command:

bash
cd custom_nodes && git clone https://github.com/tzwm/comfyui-browser.git

Run it from inside your ComfyUI installation so the clone lands in custom_nodes, then restart the ComfyUI server. After the restart, press B in the ComfyUI interface to toggle the browser dialog, which is the documented way to open it. If the default locations do not suit your setup, drop a config.json into the comfyui-browser directory. The README's example overrides all four paths:

json
{
  "collections": "/var/lib/comfyui/comfyui-browser-collections",
  "download_logs": "/var/lib/comfyui/comfyui-browser-download-logs",
  "outputs": "/var/lib/comfyui/outputs",
  "sources": "/var/lib/comfyui/comfyui-browser-sources"
}

The defaults, for comparison, are [comfyui-browser]/collections, [comfyui-browser]/download-logs, [comfyui]/outputs and [comfyui-browser]/sources, where the bracketed values are detected automatically. The README notes that collections is where your Saves are stored, so that is the directory to point at a Git repository you control. If you want to develop against the frontend instead, the README describes starting ComfyUI with python main.py --enable-cors-header, then running npm i and npm run dev inside the svelte directory and opening http://localhost:5173/?comfyUrl=http://localhost:8188.

Where comfyui-browser gets in the way

The output directory default is the sharpest constraint. Because outputs points at ComfyUI's own --output-directory, the browser is reading and managing the same folder your generations land in. If your ComfyUI output path changes, by flag or by upgrade, the browser follows it, and any custom config.json you wrote silently stops matching reality. The README does not document rollback for a bad Git state in collections, nor what happens when a pull conflicts with files you edited through the interface. There is also no release history: no releases were retrieved, and the README points to CHANGELOG.md for changes, so version pinning is guesswork. The README's own development notes say to test on Windows "because I only have Linux/macOS", which tells you the author's own coverage is uneven. Finally, the TODO list still has an unchecked item, searching workflows by node name and model name, so keyword search does not cover the case where you remember the checkpoint but not the filename. If your workflow library is small, or you never move between machines, the Git layer is overhead with no payoff.

How it differs from plain ComfyUI Manager and from a shared workflow repo

ComfyUI Manager installs and updates custom nodes; it does not curate your saved workflows or browse your outputs. comfyui-browser is complementary: the README tells you to install it through ComfyUI Manager, and the two topics are listed together in the repository metadata. The closer comparison is a hand-rolled Git repository of workflow JSON files. That approach gives you version history and nothing else: no thumbnail browsing tied to the images those workflows produced, no in-UI switching between saved workflows, no subscribe mechanism for pulling someone else's collection into your own. comfyui-browser's Sources feature is the part a plain repository lacks, since it treats an external Git repository as a loadable source rather than a directory you clone and remember to pull. The README also invites users to submit their own workflow sources through a GitHub issue, which is a distribution model, not a feature you can self-host. The trade is that you accept a custom node inside your ComfyUI process in exchange for that convenience.

Licence, dependencies and what upgrades cost you

The licence is not determinable from the repository. pyproject.toml declares license = "LICENSE", which points at a file rather than naming a licence, and the repository's top-level entries as listed do not include a LICENSE file. That mismatch is worth resolving before you vendor or redistribute the code, because it determines whether you can. Runtime dependencies are listed in both pyproject.toml and requirements.txt as tqdm, pandas, numpy, requests and urllib3. pandas and numpy are heavy for what is fundamentally a file browser, and they land in the same Python environment as ComfyUI, so a version conflict with another custom node's pinned numpy is a realistic failure mode rather than a theoretical one. The version field in pyproject.toml is 1.0.0 and no releases were retrieved, so upgrades are likely to mean pulling the main branch. The last push was on 2026-08-09, so the code has moved recently, but there is no tagged release channel to pin to. Budget for reading CHANGELOG.md before each pull rather than trusting a version number.

Editorial conclusion

Adopt comfyui-browser if you run your own ComfyUI instance and want workflow files tracked in Git rather than scattered across the output folder. Skip it if you need a hosted or mobile workflow library, or if you cannot install custom nodes on your ComfyUI host. Before committing, verify three things yourself: that the repository actually contains the LICENSE file its pyproject.toml points to, that your ComfyUI was started with --enable-cors-header if you plan to use the Vite dev frontend, and that the collections and sources paths in config.json point at directories you are willing to have overwritten by a git pull.

Frequently asked questions

What is the browser app in comfyui-browser used for?

It opens a dialog inside ComfyUI, toggled with the B key, that browses and manages images, videos and workflows in your output folder and lets you save workflows into a Saves collection. The README also describes subscribing to external workflow sources over Git and searching workflows by keyword.

Does comfyui-browser run in the browser rather than inside ComfyUI?

The browser dialog is a Svelte frontend served from the custom node, but the backend is aiohttp running inside the ComfyUI process, the same framework ComfyUI uses. The README describes the modal frontend as an iframe, and ComfyUI loads an index.js that interacts with it.

How do I install comfyui-browser?

Install ComfyUI Manager, search for comfyui-browser under Install Custom Node and install it, or clone the repository into custom_nodes and restart ComfyUI. The README gives the manual clone as cd custom_nodes && git clone https://github.com/tzwm/comfyui-browser.git.

Official sources

  1. Issues
  2. README
  3. talesofai/comfyui-browser on GitHub
Community notes

Community notes