EXIF Orientation & Crop Coordinate Mapper

Convert a crop or point between stored image coordinates and the view implied by EXIF orientation. Keep rotations, reflections, pixel indices and crop edges explicit.

All 8 orientationsLocal JPEG inspection10 worked examples
Know which coordinate system your crop belongs to.

Exact integer geometry for a known raster. This tool produces coordinate plans and diagrams.

Optional: read local JPEG orientation metadata

Reads supported JPEG frame metadata and primary Exif IFD0 Orientation from at most the first 1 MiB of a JPEG up to 512 MiB. No upload or photo decoding. Successful inspection resets the direction, point and crop to the full stored raster.

1. Set stored geometry and orientation

Switch direction using the mapped point and crop as the new inputs. The selected region stays the same.

Point coordinates

Pixel-index points identify pixels. Edge points identify raster boundaries. Both accept whole-number coordinates; rectangles below always use edges.

Input crop in the selected source raster

2. Read the mapped coordinates

Stored dimensions (px)
Displayed dimensions (px)
Stored crop geometry
Displayed crop geometry
Crop area preserved

Mapped point

→

Geometry is width×height+X+Y. Crops use the top-left edge and positive width/height. All four corners are mapped before the target rectangle is calculated.

Coordinate matrices for this direction

Crop-edge matrix [a, b, c, d, e, f]

Pixel-index matrix [a, b, c, d, e, f]

Use x′=a·x+c·y+e and y′=b·x+d·y+f. These are numeric coordinate transforms, with separate translations for indices and edges.

3. Inspect the known-geometry diagram

TL, TR, BR and BL identify the same stored corners in both diagrams. Their reordered positions show the rotation or reflection. The shaded rectangles are the corresponding crops. This is synthetic geometry, not a preview of the selected photograph.

4. Save the coordinate plan

Why a visible crop can have different stored coordinates

EXIF orientation tells a compatible viewer how to arrange the stored image. For orientation 6, a stored 1200 × 800 raster becomes a displayed 800 × 1200 view. A stored crop at (103, 79), sized 500 × 300, maps to displayed geometry 300x500+421+103. Mapping in the other direction recovers the stored rectangle. Use “Reverse using mapped result” to change direction while preserving the point and selected crop; changing the direction selector alone reinterprets the entered coordinates.

One pixel is different from an outer edge

In that same orientation, stored pixel index (103, 79) maps to displayed pixel index (720, 103), while the crop-edge point (103, 79) maps to (721, 103). The one-pixel difference is intentional. Pixel locations stop one short of the raster’s outer edge.

Use the stored crop with the correct JPEG workflow

A lossless JPEG crop planner generally needs coordinates in the encoded raster, not a viewer’s rotated display. After local inspection, the handoff transfers only numeric stored geometry and the known sampling grid. Orientation handling remains a separate step in the actual image workflow. In particular, stripping metadata also removes its display instruction.

Frequently asked questions

Does this tool rotate or crop the photograph?

No. It maps numeric points and crop rectangles, inspects supported JPEG/Exif headers locally, and exports known-geometry diagrams and reports. It does not decode, rotate, crop, re-encode or rewrite the selected photograph.

Why are pixel indices and crop edges different?

A width of 100 contains pixel indices 0 through 99, but its outer crop edges run from 0 through 100. Pixel-index reflections therefore use width minus 1; crop-edge reflections use width. Rectangles always use integer edge coordinates, regardless of the selected point mode.

Which EXIF values swap the image dimensions?

Orientations 5, 6, 7 and 8 swap stored width and height. Codes 2, 4, 5 and 7 include a reflection. The mapper supports all eight orientation values in both stored-to-displayed and displayed-to-stored directions.

What happens when an Orientation tag is missing?

Missing primary IFD0 Orientation is reported as an explicit assumption of code 1. The result does not prove how every application will display the file; another metadata source or an existing pixel rotation can change that behavior. You can choose a mapping code manually.

Which metadata does local inspection read?

The inspector reads at most the first 1 MiB of a JPEG up to 512 MiB. It uses supported 8-bit DCT JPEG frame/scan metadata for stored dimensions and the primary Exif IFD0 Orientation SHORT tag for orientation. Classic little-endian and big-endian TIFF are supported. Entropy data, thumbnails, XMP orientation, other image formats and complete file validity are not inspected.

Are malformed or conflicting orientation tags ignored?

No. Unsupported byte orders, malformed or odd-byte TIFF offsets, truncated tables, invalid tag types/counts/values, duplicate Orientation tags and multiple Exif APP1 blocks produce a clear error rather than silently selecting code 1. Use manual inputs when automatic inspection cannot establish the supported metadata.

What does the JPEG planner link transfer?

After a supported JPEG is inspected, the link transfers its stored crop coordinates and known sampling grid to the JPEG alignment planner. It does not transfer the photograph. Apply or retain display orientation separately in your image workflow; the planner’s example commands strip metadata.

What are the geometry limits?

Stored dimensions and crop sizes are integer pixels from 1 to 65500. Points must be within the chosen source raster; pixel indices stop at width minus 1 and height minus 1, while edge points may reach the outer edge. Crops must fit completely, with no silent clipping. Coordinates and areas are exact integers within this range.

References: TIFF 6.0 structure and word alignment, Adobe TIFF orientation definitions and Pillow EXIF transpose mapping.

Related tools

JPEG Lossless Crop & MCU Alignment Planner · Image Metadata Viewer & Remover · Crop Image · All image tools