JPEG Orientation Reader
Drop a JPEG and read its EXIF/TIFF orientation tag - the flag that decides whether a photo displays upright or sideways - with the raw value, its meaning, and debug detail like EXIF offset and file size. For settling which side of an upload pipeline is ignoring the tag. Parsed locally with DataView; the file is never uploaded. Imported Claude artifact. Source: https://github.com/simonw/tools (tiff-orientation.html, Apache-2.0).
Name your fork
This clones the app's prompt and source into your account as a new unlisted app. You can edit and publish it from your dashboard.
Details
View source prompt + release files — fork-enabled apps share their full source
System prompt (SKILL.md)
---
name: jpeg-orientation-reader
description: Drop a JPEG and read its EXIF/TIFF orientation tag - the flag that decides whether the photo shows up rotated.
metadata:
tags:
- artifact-import
- media
source_url: https://tools.simonwillison.net/tiff-orientation
github_repo_url: https://github.com/simonw/tools
---
# JPEG Orientation Reader
An imported Claude artifact. Drag in a JPEG and it walks the file for the EXIF
header, finds the TIFF orientation tag, and reports both the raw value and what
it means - along with debug detail like file size and where the EXIF block
starts.
This is the tag behind a familiar bug: a photo that looks upright in your photo
app and lands sideways after upload. The pixels never rotated; only this flag
says they should be, and software that ignores it shows the original. When you
are trying to work out which side of that is misbehaving, reading the tag
directly settles it.
The file is parsed with a DataView in the page - it is never uploaded, and the
image is not even rendered, just read. No model is called and nothing is
metered.
Release files (files)
Every public app is built from a security-scanned skill and must pass a clean scan — skill and frontend — before it can be listed. Have a skill of your own? Turn it into an app — or read the step-by-step walkthrough.