How to add EXIF data to an AI-generated image
You can write camera fields into a JPEG with ExifTool, for example `exiftool -Make="Canon" -Model="Canon EOS R6" -DateTimeOriginal="2026:10:08 14:32:10" image.jpg`. Add only values that are true or consistent: make, model, lens, exposure and date should describe one believable device. Writing EXIF does not make a picture a photograph, and it proves nothing to anyone who checks.
Last updated: 2026-10-08
Why a bare file looks odd
A phone or camera writes EXIF into every JPEG it saves: the manufacturer, the model, the time, the exposure settings, often the orientation and sometimes a position. An AI generator usually writes none of that. After you strip the provenance markers from an AI file, you can end up with a JPEG that has no EXIF whatsoever, which is itself unusual in a world where cameras always write it.
That is the reason some people add a block of camera fields afterwards. It is also the reason to be careful, because the fields you add are claims, and a claim that does not hold together is worse than silence.
The fields that matter
EXIF is a table of tagged values. The ones a reader usually looks at are these.
MakeandModel: the device. They should be a pair that really exists.DateTimeOriginal: when the picture was taken, in the form2026:10:08 14:32:10. It should not be later than the file's own modification time and should not be in the future.ExposureTime,FNumber,ISO: the three exposure settings. A bright scene with a very high ISO and a slow shutter looks wrong.FocalLengthand the lens model: they have to agree with the device. A phone main camera has a short focal length, a full-frame camera with a portrait lens does not.Orientation: usually one for an upright picture.Software: leave it as the device's firmware string, or empty. If it names a generator, the work above was wasted.
Doing it with ExifTool
ExifTool writes these tags directly. A command that sets several at once looks like the one in the answer above, and each tag is a -Name=value argument. Write the date in the colon format shown, and quote any value that contains a space. Run the command on a copy, since ExifTool keeps the original under an _original name unless you ask it to overwrite.
Two caveats. ExifTool does not create everything a real camera writes, such as the maker note, a binary block that holds model-specific data. A real file from a specific camera has one, and a hand-built file does not. And the thumbnail inside the EXIF has to match the main image. If you change the pixels afterwards and leave the old thumbnail, anyone who extracts it sees a different picture.
Consistency is the whole job
The ways a hand-built block gets noticed are rarely subtle: a model that does not exist, a time zone that disagrees with the date, an aperture the lens cannot reach, or a JPEG that was clearly saved by a library, not by a camera. The last one is about the compression itself. Every camera uses its own quantization tables, the numbers that control how aggressively the JPEG is compressed. An image whose tables are the library default but whose Make says it came from a particular phone is internally inconsistent. The guide to JPEG quantization tables explains how to read them.
That is how PassReal handles it. It takes the EXIF from one device profile and writes a quantization table that goes with it, so the two layers say the same thing. It does not invent a new device each time.
What EXIF cannot do
EXIF is plain, unsigned text. Anyone can write anything into it with a free tool, which is exactly why reading it as evidence is a mistake in either direction. A signed record such as C2PA is the standard that tries to fix this, and the explainer on what C2PA is covers what it can and cannot show. The point for this page is simple: adding EXIF makes a file look ordinary. It does not make it a photograph, and it does not remove any obligation to say how an image was made when you are asked.
Questions
Why would an AI image need EXIF data?
Cameras and phones always write it, so a JPEG with none at all is unusual. Some upload forms and review tools also read the date or the orientation and misbehave when they are missing.
Is it dishonest to add camera EXIF to an AI image?
It can be, if the aim is to make someone believe a camera took the picture. Where a platform or a client asks how an image was made, answer truthfully. Metadata is for the file, not for the disclosure.
Can someone tell the EXIF was added by hand?
Often yes. Values that contradict each other, such as a focal length the lens cannot produce, or a thumbnail that does not match the picture, are common giveaways. Because EXIF is unsigned, nothing in it is proof either way.
Does PassReal write EXIF?
Yes. The last stage encodes a JPEG with EXIF taken from one consistent device profile, together with a JPEG quantization table that matches that device, so the fields and the file structure agree.
Will adding EXIF change how a detector scores the image?
Pixel-based detectors do not read it. A tool that looks at provenance fields may, but the metadata is only one signal among several.
Limits
Naturalization operates on the pixels and on the file, not on the content of the image. A subject that is implausible - six fingers, inconsistent reflections, text that does not read - stays implausible after processing, and a human reviewer will notice it. PassReal changes what a statistical classifier measures, not what a person sees.
Results vary by generator, by subject and by detector, and detectors are retrained. No pass rate is published on this page because none has been measured in a way that would still hold next month.
Three images, no card, no expiry.