Skip to content
checkaifree

Local tool

ComfyUI workflow from an image

Read a ComfyUI workflow or prompt from a PNG in your browser. The summary lists node types, prompt text, sampler names, checkpoints and LoRAs when those fields are in the saved JSON. The file is not uploaded, and the workflow is not run.

17 October 2026 · Check AI Free

Local PNG text reader

Read a ComfyUI workflow from a PNG

Choose an original PNG. If ComfyUI saved a workflow or prompt JSON, the summary below lists node types, sampler names and prompt text. The file stays in this browser and is not uploaded. The JSON is not executed.

Up to 10 MiB; 32 text fields; 256 KiB per field and 1 MiB total decoded text. Workflow JSON is bounded. Image pixels are not decoded by this reader. This page reads PNG text and summarizes ComfyUI JSON. It does not run the image checker and does not upload the file.

ComfyUI/A1111 fields may be absent after export, screenshotting or editing. Text can include private prompts or paths: review it before sharing. Downloaded JSON is the stored field, not a verified or safe-to-execute workflow.

Where a ComfyUI workflow hides in a PNG

ComfyUI’s workflow-metadata notes say a PNG from a built-in save node can carry two JSON fields, prompt and workflow, written as PNG text. The workflow object is the graph you see on the canvas: a nodes array, links, and widget values. The prompt object is the API shape: each node id maps to a class_type and an inputs object. Either field can be missing. Metadata can be turned off. A later app can rewrite the PNG and drop every text chunk. This page reads whichever of those fields is still there. It also still shows every other text chunk, because an Automatic1111 parameters block is a different keyword and people land here with both kinds of file.

The summary is a reading aid, not a second copy of the graph. CLIP text is shown as a prompt, and a title that says negative is labeled that way. A KSampler contributes its sampler name, a checkpoint loader contributes the checkpoint filename, and a LoRA loader contributes the LoRA name. Node types are counted. Past a thousand nodes the walk stops and the card says so. The full JSON stays in the field below, and you can download that field. The download is the stored text, not a cleaned or executable workflow.

What a recovered workflow does and does not settle

  1. Step 1

    Confirm the file is still a PNG

    Rename a JPEG to “.png” and this reader will reject it. A screenshot is a new PNG of the screen, with no text chunks from the original. If the picture passed through a messenger, read what sharing does to metadata before you expect a graph.

  2. Step 2

    Read the keyword the file actually used

    The summary follows the keyword and the shape. A field named workflow that contains an API prompt is summarized as a prompt. A field named prompt that contains a nodes array is summarized as a workflow. The page does not rename the chunk to match a tutorial.

  3. Step 3

    Treat names as claims

    A checkpoint filename and a seed describe what the JSON says. They can be edited. They do not identify the person who pressed queue, and they do not prove the pixels match the graph. One public Automatic1111-related PNG checked while building the general reader had no parameters field at all. Absence stays absence.

  4. Step 4

    Ask a different tool for a different question

    A signed history is the C2PA checker, which still does not verify the signature. Camera fields are the EXIF viewer. A general look at the pixels is the image checker or the checker on the Stable Diffusion page. Those can send a smaller copy to a provider. This reader does not.

The same reader, without the workflow-first heading, lives on the Stable Diffusion PNG info page. Use that page for an Automatic1111 parameters block and the longer account of tEXt, zTXt and iTXt. Use this page when you want the node list first. Both stay inside the same limits: 10 MB, 32 text fields, 256 KB for one field, 1 MB of decoded text, and a JSON walk that stops if it gets too deep. A browser without DecompressionStream is told so when the chunk is compressed. Text is shown as text. Markup in a prompt is not turned into HTML.

If the summary is empty and the status says no text fields, the picture can still be a ComfyUI image. The graph was not in this file. Continue with how to tell if an image is AI-generated instead of treating silence as a camera proof. If you are about to post the PNG and you do not want the prompt to travel with it, strip the text chunks with Remove metadata after you have saved any JSON you still need.

Questions

Can I get a ComfyUI workflow back from any AI image?

No. Only a PNG that still contains the workflow or prompt text chunk can be read. A JPEG export, a screenshot, or a PNG saved with metadata disabled has nothing for this page to recover. The pixels are not turned back into a graph.

Is the PNG uploaded?

No. The text chunks are read in your browser. The file is not uploaded. Workflows often contain private paths, names and unpublished prompts, so read them before you copy or download the JSON.

What is the difference between prompt and workflow?

ComfyUI’s docs describe two JSON fields. prompt is the API form: node ids mapped to a class type and inputs. workflow is the graph form: a nodes array with positions, titles and widget values. This page summarizes either one. It does not need both.

Will you run the workflow if the JSON parses?

No. Parsing checks that the text is JSON inside the reader’s size limits and then lists node types and a few well-known fields. It does not install custom nodes, load a checkpoint, or execute the graph. ComfyUI’s own documentation says embedded metadata is not a signature.

How is this different from the Stable Diffusion PNG info page?

That page is the general reader for PNG text, including Automatic1111 parameters. This page is the same reader aimed at a ComfyUI workflow: the summary leads with node types, prompts, samplers, checkpoints and LoRAs. Use either page on an original PNG.

Sources

Related