EXIF Viewer

View the hidden EXIF metadata in a photo — camera, settings, date and GPS — read entirely in your browser, so the file never leaves your device.

Half the orientations cannot be fixed by rotating

A photo records how the camera was held, and the viewer is expected to straighten it. The usual mental model — “it is a rotation of 0, 90, 180 or 270 degrees” — covers only half the values. Writing each as a 2×2 matrix sorts them instantly: determinant +1 is a rotation, −1 is a reflection, and no amount of rotating will ever produce a reflection.

ValueMeaningMirror?Swaps width/height?CSS
1 normal no no none
2 flipped left to right yes no scaleX(-1)
3 rotated 180° no no rotate(180deg)
4 flipped top to bottom yes no scaleY(-1)
5 transposed yes yes rotate(90deg) scaleX(-1)
6 rotated 90° clockwise no yes rotate(90deg)
7 transverse yes yes rotate(270deg) scaleX(-1)
8 rotated 90° anticlockwise no yes rotate(270deg)

So code that reads the tag and applies a rotation handles 1, 3, 6 and 8 correctly and renders 2, 4, 5, 7 back to front — silently, because a mirrored photo still looks like a photo. Text in the shot is how people usually find out.

Orientations 5, 6, 7, 8 also exchange the axes, so the width and height stored in the file are the wrong way round for display. A layout reserving space from those fields will be wrong for half the portrait photos it is handed, which is a common cause of pages that jump as images load.

And two of them do not undo themselves

The eight form a closed set — composing any two gives another of the eight, all 64 combinations — and six of them are their own inverse, so applying them twice restores the original. 6 and 8 are not. They are inverses of each other.

ValueApplying it twice givesUndone by
1 the original 1
2 the original 2
3 the original 3
4 the original 4
5 the original 5
6 a 180° turn 8
7 the original 7
8 a 180° turn 6

Which matters because “undo the orientation by applying it again” is a tempting shortcut. It works for six values out of eight, and quietly turns the other two upside down.

How to use

  1. Choose a photo from your device.
  2. Read the camera, settings and date fields.
  3. Check whether GPS coordinates are present.
  4. Strip metadata before sharing if location matters.

Frequently asked questions

What is EXIF data?

Metadata written into the image file by the camera — make and model, exposure settings, lens, date and time, orientation, and often GPS coordinates. It rides along invisibly with the picture and survives copying, emailing and uploading unless something removes it.

Does my photo get uploaded?

No. The file is read entirely in your browser and nothing is transmitted. That matters here more than usual, since the whole point is inspecting data you may not want anyone else to have.

Is the GPS data a real privacy risk?

Yes, and a well-documented one. A photo taken at home carries your home's coordinates to within a few metres, and people have been located from images they shared without realising. Photos of children, of a home for sale, or posted to a classified ad are the cases that recur.

Do social platforms strip it?

Most major platforms strip EXIF on upload, which has quietly protected a lot of people. But not all do, direct file sharing and messaging apps often do not, and a platform's behaviour can change. Relying on it is a weaker position than removing the data yourself.

How do I remove EXIF?

Most operating systems can strip it from the file properties, and image editors offer an export-without-metadata option. Screenshotting a photo also removes it, crudely. Doing it before sharing is the reliable approach rather than trusting the destination.

Is EXIF useful for anything?

Considerably. For photographers it records the settings behind a shot, which is how you learn what worked. It preserves capture dates for organising archives, carries the orientation flag that stops photos appearing sideways, and is used in image forensics to check whether a file is what it claims to be.

🔒 This tool runs entirely in your browser. Nothing you enter is uploaded, logged, or stored.