ComfyUI Node

Parse Exif

Read an image's embedded metadata back out as text

By aria1th·Created 3 years ago·Updated 7 months ago· 116
Parse Exif
  • image
  • STRING

Parse Exif takes an image and gives you back a string of whatever metadata is embedded in it. One input, one output, no configuration - it's a read node, not a generator.

What's actually in that string depends entirely on the image you feed it. This matters more in the ComfyUI ecosystem than it might elsewhere: a ComfyUI output PNG embeds its entire generating workflow in its metadata - prompt, seed, sampler, every node setting - inside the file itself, which is exactly the mechanism that lets people share a single image on Reddit or Discord and have someone else drag it straight into ComfyUI to get the identical graph back. A real camera photo, by contrast, carries genuine EXIF - camera make/model, exposure settings, timestamp, sometimes GPS. ParseExifNode reads whatever's actually there and hands it to you as text either way; it doesn't distinguish "AI generation metadata" from "camera EXIF," it just surfaces what the file contains.

This is part of aria1th's ComfyUI-LogicUtils, a personal utility pack from the same handle behind the Illustrious XL training work - a mostly math-and-logic grab bag, with this node as one of the few that deals in metadata rather than pixels or numbers.

Why you'd reach for it

Practical uses split a couple of ways: checking whether a downloaded reference image was AI-generated and what it was generated with (before you decide whether to use it as a style reference or a ControlNet input), pulling the seed or prompt back out of a past output you saved without the matching workflow file, or - on the photography side - verifying a real photo's actual camera settings if you're trying to match realism cues (a genuine consideration in photorealistic workflows, where a plausible-looking image without EXIF is itself a giveaway that it's synthetic). It's a read-only diagnostic step, not something you'd typically wire into the middle of a generation pipeline.

Inputs and outputs

  • image (IMAGE, required) - the image to read metadata from.
  • Output: STRING - whatever metadata was found, as text. If the image carries no embedded metadata at all (many web-downloaded or re-compressed images strip it), expect an empty or minimal result rather than an error.

How to install it

ComfyUI Manager: search "ComfyUI-LogicUtils", install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils

then restart ComfyUI. Reading embedded metadata typically relies on an imaging library (PIL/Pillow or similar) rather than anything heavy - no models involved.

Common issues & troubleshooting

"Missing node type" on a shared workflow. ComfyUI Manager's "Install Missing Custom Nodes" installs the whole pack from the graph JSON.

Import error on startup. The README documents an opt-in dependency auto-installer: COMFYUI_LOGICUTILS_AUTO_INSTALL=1 before launch to let it install what's needed, or COMFYUI_LOGICUTILS_SKIP_INSTALL=1 to disable that hook if it's causing the problem. If ParseExifNode is the one erroring, this is the first thing to check.

Empty string comes back. Most likely the image genuinely has no embedded metadata left - social media platforms, messaging apps, and many web tools strip EXIF and PNG text chunks on upload/download as a matter of course. If you need the original ComfyUI workflow metadata, you generally need the original saved PNG, not a screenshot or a re-shared, re-compressed copy of it.

Output is a jumble that's hard to read. The node hands back raw text, not a parsed/structured breakdown - if the source is a ComfyUI-generated PNG, that string is likely to be (or embed) the full workflow JSON, which is dense by nature. Treat it as something to search through for the field you want (a seed, a prompt) rather than something meant to be read top to bottom.

CategoryMisc

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (1)

NameTypeDescription
STRINGSTRING