ghostframe
no key Open studio
faq

Answers without the fog.

If something here is wrong for your platform or your file, the contact page reaches a person.

What exactly gets removed?

Two families. Container metadata: JPEG APP1/APP11/APP13/COM, PNG eXIf and text chunks, WebP EXIF/XMP chunks, MP4 C2PA uuid boxes. Pixel signal: a bounded DCT-domain rewrite that decorrelates the mid and high-frequency coefficients SynthID-class embedders rely on.

Is the C2PA removal guaranteed?

Yes, at the container level. The scanner walks the real structure rather than trusting an extension, and the stripper rebuilds the file without the manifest. If a C2PA block was present, it is not in the output. What happens after the file leaves you is another matter.

Can a detector still flag the image?

Possibly. Detectors that read SynthID's pixel pattern see a much weaker correlation after a rewrite, but some also score visual statistics that have nothing to do with watermarking. No tool can promise a clean verdict on every model, version and platform.

Why do you report PSNR instead of claiming "identical"?

Because the pixels do change. PSNR quantifies how much: 43.9 dB at standard strength is roughly a mean squared error of 2.6 code values squared, spread across the frame. Calling that identical would be marketing, not measurement.

Which formats work?

PNG, JPEG and WebP for images; MP4 and MOV for video. GIF is parsed but only container metadata is touched. HEIC is not decoded in-browser and is rejected with a message rather than silently passed through.

What is the file size limit?

Images: browser memory is the limit, in practice 40 MP is comfortable on a laptop. Video container strip: 2 GB. Video frame rewrite: 300 MB and 3 minutes.

Do you keep my files?

Images never reach a server. Video is written to a temp file, processed, sent back and unlinked. No archive, no training set, no third-party storage. Request logs keep method, path and status only.

How does the free removal work?

One full image removal per browser, counted locally and tied to an activation key when you have one. Clearing storage resets the counter; keys are what actually gate volume.

Can I run it offline?

For images, yes. Once the page and the JS are cached, the whole pipeline — decode, DCT, encode, strip — is local. Video frame rewrite needs this server.

Does it work on edited files?

Yes, within reason. Crop, resize and moderate recompression usually leave enough signal structure to target. Heavily filtered or repeatedly re-encoded files behave less predictably.

Is removal reversible?

No. The output is a new file; your original is untouched and still carries whatever it carried. Keep the original if provenance matters for your records.

Is this legal?

Editing metadata on content you own is ordinary file work in most places. Using it to pass off someone else's work, or to dodge a legal disclosure requirement, is a different act and not one this tool authorises. You are responsible for the use.

Can I get the source?

The pipeline is plain JavaScript: format.js for containers, dct.js for pixels. It is served unminified to this page — read it in devtools.