Midjourney saves your prompt, job_id, version (v6, v6.1, niji), and Discord user reference inside the PNG tEXt and iTXt chunks of every download. If you forward that file to a client or upload it to a stock platform, those fields are exposed. GhostMeta scans the PNG chunk list, surfaces what's there, and re-encodes via canvas — the resulting file has zero text chunks and a clean caBX boundary if Midjourney enabled C2PA on your tier. Because the parameters chunk records your exact flags — --ar, --stylize, --chaos, --weird, and crucially the --seed plus any --sref / --cref reference codes — anyone reading the PNG can re-roll a near-identical generation and trace the style or character references you reused across a series. Upscales and variations carry the same tEXt and iTXt chunks as the original grid download, so cleaning one frame does not clean the rest. GhostMeta decodes the PNG to a canvas and re-encodes it locally, dropping every text chunk and the caBX C2PA box in one pass, with nothing ever sent to a server.
What a Midjourney file contains depends on the export path, and passing through an editor adds fields of its own. Rather than assuming, read it: GhostMeta lists the metadata present then removes all of it — EXIF, IPTC, XMP, PNG chunks and provenance manifest — by local re-encode, with no transmission.
What a Midjourney file contains depends on how you retrieved it: downloaded from the site, saved from an image shown in a browser, or exported through an intermediate application. Each of those paths produces a different file, and the last one usually adds traces of its own.
Rather than asserting what you have, read it. The metadata viewer lists the fields present in your specific file, locally. That is more reliable than a page generalising from an earlier version of the platform.
Whatever the export path, the re-encode strips every container: EXIF, IPTC, XMP, PNG text chunks and a provenance manifest when there is one. There is no allowlist to keep current, so no proprietary field gets forgotten.
The intermediate application is the commonly overlooked part. Simply passing through an editor to crop adds a Software field, a modification timestamp and sometimes an XMP document identifier — on an image that carried none to begin with.
An image that has circulated often carries the traces of its journey more than those of its creation: trips through messaging apps, a format conversion, a crop. Each step can add or remove fields.
That is why reading beats assuming. Two files from the same original image can hold completely different metadata depending on the path they took.
| Path | Frequent traces | Removed |
|---|---|---|
| Direct download | Platform metadata | Yes |
| Saved from the browser | Often reduced containers | Yes |
| Through an editor | Software, modification date, XMP | Yes |
| Any visible watermark | In the pixels | No |
tEXt or iTXt chunks named Description, parameters, prompt and Software, plus optional XMP, plus a caBX C2PA chunk on Pro/Mega tiers. Job ID and version are usually present.
If you re-export through Midjourney's web app the metadata is re-attached. To stay clean, run GhostMeta as the LAST step before sharing.
Older versions wrote your Discord ID into the user_id field. Recent versions hash or omit it, but treat any tEXt block as suspect.
Partially. The parameters tEXt chunk often stores the seed alongside --sref and --cref reference codes. With those values plus the prompt, another Midjourney user can re-roll a near-identical generation or lift your style references — Midjourney is not pixel-for-pixel deterministic, but the result is close. Stripping the chunk removes that reproducibility leak; only the visible pixels remain.
Yes. When you upscale a tile or request variations, Midjourney writes fresh tEXt and iTXt chunks into each new PNG — the metadata is not inherited from a single cleaned file. Run GhostMeta on every final asset individually, since one clean frame says nothing about the others in the set.
Many marketplaces parse the PNG chunk list on upload; a Software or parameters chunk naming Midjourney, or a caBX C2PA box, can trigger an automated AI-content flag or outright rejection. GhostMeta wipes those chunks so the file presents as a neutral PNG. Note this only addresses metadata signals — pixel-based AI detectors are unaffected.
Partner : M.E Expert Serrurier