HEIC viewer and HEIC to JPEG
Open an iPhone photo (.heic or .heif), see it the right way up, and save it as a JPEG or PNG. You also see when it was taken and in which time zone, the camera, and whether the file gives away where you were.
The photo is decoded by your own browser on this device. It is never uploaded.
What it shows
- The photo, upright. iPhones store a photo in the orientation the sensor saw it and add a rotation note; the picture is turned before it is shown, so a portrait photo stands up. It fits the width of your screen; tap it to see it at full size.
- Save as JPEG or PNG. JPEG with a quality slider (90 % to start), or lossless PNG. The file is named after the original, so
IMG_4127.HEICbecomesIMG_4127.jpg. Choose several photos at once and each gets its own save buttons. - When it was taken, as the camera recorded it, with the time zone offset the iPhone stores beside it (for example UTC+02:00) and the same moment in UTC.
- Where it was taken. If the photo has a GPS position it is shown as latitude, longitude and altitude, so you can see what anyone you send the original to could see. If there is none, the page says so.
- How the file is built: the camera make and model, the pixel size, the rotation, the HEVC profile and bit depth, the colour space (Display P3 on recent iPhones), and anything else inside it, such as the thumbnail, a depth map, a portrait matte or an HDR gain map.
How it works, and which browsers can do it
HEIC photos are compressed with HEVC (H.265), the same codec as iPhone video. This page carries no HEVC decoder of its own; it uses the one in your browser or your computer's graphics chip. It first asks the browser to open the photo directly, which Safari does on iOS 17, iPadOS 17 and macOS 14 or later. Otherwise it reads the file's structure, hands each piece of the picture to the browser's video decoder (WebCodecs), and puts them back together. Chrome and Edge can do that on Windows and Mac computers whose graphics chip was made since about 2016, on most recent Android phones and on Chromebooks.
A 12-megapixel iPhone photo (4032 × 3024) is not stored as one picture: it is a grid of 8 × 6 = 48 tiles of 512 × 512 pixels, 4096 × 3072 in all, which is then cropped to size. The page decodes all 48 and draws each into its place.
If your browser has no HEVC decoder (for example Chrome on an older computer without HEVC hardware, or on many Linux systems), the page still shows everything that can be read without decoding: size, rotation, tiles, capture time, camera and location. It then says plainly that the picture cannot be shown in that browser, and names the ones that can.
What it cannot do
- Browsers without HEVC. The picture needs an HEVC decoder in the browser or the graphics hardware. Without one you get the details only.
- Live Photos show as stills. The moving part of a Live Photo is a separate .mov video next to the .heic. This page shows the still photo.
- HDR is flattened. Photos from recent iPhones (since about the iPhone 12) can carry an HDR gain map that makes highlights brighter on HDR screens. It is listed but not applied: you see and save the standard version of the photo.
- Depth maps and portrait mattes are not shown. Portrait-mode photos carry them as extra images. They are listed, not drawn.
- Bursts and image collections show one photo. If a file holds several images, only its main (primary) image is shown and saved; the others are counted.
- No metadata in the saved file. The JPEG or PNG is new, made from the pixels. It carries no EXIF block: no camera, no date and no location. That is useful when sharing, but photo apps will sort it by the day you saved it.
- Colours are saved in sRGB. Display P3 photos from recent iPhones are converted to sRGB, the colour space nearly every screen and program assumes, so the most saturated reds and greens may look a little less vivid than on the iPhone.
- Very large photos. The picture is held in this tab's memory: a 12-megapixel photo needs about 48 MB, a 48-megapixel one about 190 MB, which an older phone may refuse.
Getting the original HEIC off an iPhone
- To a Mac
- AirDrop sends the original HEIC to a Mac. In the Photos app on the Mac, File › Export › Export Unmodified Original saves the .heic exactly as the iPhone took it.
- To the Files app
- In Photos, tap Share › Save to Files, then open this page in Safari and choose the photo from Files. Picking straight from the photo library can hand the page a JPEG copy that iOS converted on the way; the page then tells you it received a JPEG, and Files gives you the original. From the share sheet, Options › Location lets you leave the location out when you send a photo.
- Over a USB cable to a PC
- Settings › Photos › Transfer to Mac or PC decides what arrives: Automatic converts photos to JPEG on the way, Keep Originals copies the .heic files.
- Shooting JPEG instead
- Settings › Camera › Formats › Most Compatible makes the camera save JPEG (and H.264 video) from then on. The files are larger: Apple's High Efficiency setting is what makes photos HEIC.
The .jpg that is really HEIC
Some transfer apps, cloud downloads and renames give an iPhone photo a .jpg name while the bytes inside are still HEIC. Programs that trust the name then call it a damaged JPEG. The first bytes tell them apart: a real JPEG starts with FF D8 FF, while a HEIC file has the letters ftyp at byte 4 followed by a brand such as heic or mif1. viewhack reads those bytes rather than the name, opens the photo here, and tells you the name is wrong. Renaming the file to .heic fixes it for other programs; saving it as JPEG here gives you a real JPEG.