EXIF 데이터는 사진의 어디에 저장되나요? (JPEG, PNG, HEIC)
EXIF는 사진 파일 안의 정확히 어디에 사는가? APP1 헤더, IFD 트리, 바이트 오프셋, 그리고 JPEG, HEIC, PNG, TIFF, WebP가 각각 어떻게 저장하는지.
빠른 답변: EXIF는 별도의 사이드카 파일이 아니라 이미지 파일 자체 안에 저장됩니다. JPEG에서는 APP1 마커 세그먼트에 사는데, 이는 파일 시작 부근에서 바이트 0xFFE1로 시작하는 헤더 블록이며, 그 안에 태그가 TIFF/IFD 트리(IFD0, Exif 서브 IFD, GPS IFD)로 배열됩니다. HEIC에서는 같은 태그가 컨테이너의 메타데이터 박스 안에 있고, PNG에서는 eXIf 청크에 있을 수 있으며, TIFF는 기본적으로 저장합니다. 데이터가 내장되어 있기 때문에, 복사하거나 보낼 때마다 사진과 함께 따라갑니다. 어떤 사진이든 EXIF 뷰어에 떨어뜨려 무엇이 들어 있는지 보세요. 아무것도 업로드되지 않습니다.
사람들은 흔히 메타데이터가 휴대폰의 숨겨진 데이터베이스나 사진 옆의 작은 파일에 있다고 생각합니다. 그렇지 않습니다. "언제, 어디서, 어떻게"는 이미지 파일의 바이트 안, 앞쪽에 예약된 영역에 직접 기록됩니다. 이 가이드는 그 영역이 어디에 있는지, 그리고 사진을 편집하거나 공유할 때 무슨 일이 일어나는지 설명합니다.
짧은 버전: 파일 안, 윗부분 가까이에 있다
카메라에서 바로 나온 JPEG를 열고 처음 몇백 바이트를 보세요. 이미지 시작 마커(0xFFD8) 다음에, 가장 먼저 만나는 것 중 하나가 전체 EXIF 블록을 담은 APP1 마커 세그먼트입니다. 압축된 픽셀은 그 뒤에 옵니다. 그래서 일반적인 카메라 JPEG는 이렇게 진행됩니다: 0xFFD8 시작 마커, EXIF를 담은 0xFFE1 APP1 마커, 선택적 헤더(APP2 ICC 프로파일, APP13 IPTC, XMP), 픽셀 데이터, 그다음 0xFFD9 끝 마커. EXIF가 픽셀과 분리되어 윗부분 헤더에 있기 때문에, 깔끔한 EXIF 편집은 이미지를 재압축하지 않습니다. 도구는 헤더 영역만 다시 씁니다.
IFD 트리: IFD0, Exif 서브 IFD, GPS IFD
APP1 세그먼트는 0xFFE1, 2바이트 길이, 그리고 식별자 Exif\0\0로 시작합니다. 바로 그다음 페이로드는 작은 TIFF 헤더로 시작합니다. EXIF는 내부적으로 JPEG 안에 내장된 작은 TIFF 파일입니다. 그 헤더는 바이트 순서(II 리틀 엔디언 또는 MM 빅 엔디언)와 첫 번째 태그 디렉터리로의 오프셋을 선언합니다.
거기서부터 태그는 하나의 평평한 목록이 아니라 IFD(Image File Directory)의 트리로 구성됩니다. 각각은 역할이 있습니다.
- IFD0 ("0번째" 또는 "TIFF" 디렉터리): Make, Model, Software, Orientation, Copyright 같은 카메라 및 이미지 수준 필드. 또한 아래 하위 디렉터리로 이어지는 두 개의 포인터 태그를 담습니다.
- Exif 서브 IFD: 촬영 시점의 기술 데이터. DateTimeOriginal, 노출 설정, 렌즈, ISO, 색 공간.
- GPS IFD: 위도, 경도, 고도, GPS에서 파생된 타임스탬프. 위치가 기록되었을 때만 존재합니다.
- IFD1 ("1번째" 디렉터리): 카메라가 생성한 내장 썸네일.
리더는 트리를 따라갑니다: TIFF 헤더에서 시작해 IFD0로 점프하고, 촬영 설정을 위해 Exif 포인터를 따라가며, 위치를 위해 GPS 포인터를 따라갑니다. EXIF 뷰어는 정확히 이 일을 하며 각 디렉터리를 자체 표로 펼쳐 보여줍니다. EXIF 태그 레퍼런스는 각 필드의 완전한 사전입니다. 4바이트에 들어맞는 값은 태그 항목 안에 인라인으로 들어가고, GPS 좌표처럼 더 큰 값은 세그먼트의 다른 곳에 저장되며 항목은 그 위치를 가리키는 바이트 오프셋을 담습니다.
다른 포맷이 같은 태그를 저장하는 방식
EXIF 태그는 포맷에 걸쳐 대체로 동일합니다. 다른 것은 그 태그가 담기는 컨테이너입니다.
- JPEG / JPG: 위에서 설명한 APP1 마커 세그먼트.
- TIFF: EXIF를 기본적으로 저장합니다. TIFF 파일은 그 자체가 IFD의 구조이므로, EXIF가 덧붙여진 것이 아니라 기본 포맷의 일부입니다. JPEG의 EXIF는 이 TIFF 레이아웃을 빌려온 사본입니다.
- HEIC: iOS 11부터 iPhone의 기본값. HEIF 컨테이너는 중첩된 "박스"로 구성되며, EXIF 태그는 JPEG 스타일 마커가 아니라 항목 메타데이터 박스 안에 있습니다. 같은 태그, 다른 보관 방식.
- PNG: 전용
eXIf청크에 EXIF를 담을 수 있습니다. 더 단순한 도구는 때때로tEXt나iTXt텍스트 청크를 대신 사용합니다. 많은 웹용 내보내기 PNG는 아무것도 담지 않습니다. - WebP: RIFF 컨테이너 안의
EXIF청크에 EXIF를 저장합니다.
태그 레퍼런스는 포맷별 편집 시 유의점을 자세히 다룹니다.
"내장"이 중요한 이유: 메타데이터가 파일과 함께 이동한다
EXIF가 파일 안에 살기 때문에, 파일이 가는 모든 곳을 사진이 따라다닙니다. JPEG를 USB 스틱에 복사하든, 이메일에 첨부하든, 공유 폴더에 떨어뜨리든, GPS 좌표와 촬영 시각이 함께 갑니다. 바로 이것이 메타데이터가 증거로는 그토록 유용하고 프라이버시로는 그토록 위험한 이유입니다. 증거도, 누출도, 안에 새겨져 있습니다.
이는 또한 EXIF 제거가 한 줄짜리 삭제가 아닌 이유를 설명합니다. 태그는 파일의 헤더 구조에 짜여 들어가 있어서, 제거한다는 것은 그 영역 없이 파일을 다시 쓴다는 뜻입니다. EXIF 제거기는 이를 브라우저에서 합니다.
편집, 스크린샷, 업로드할 때 일어나는 일
EXIF가 파일의 일부이기 때문에, 무엇이 살아남는지는 파일이 재인코딩되는지에 달려 있습니다.
- 복사, 이동, 이름 변경: 바이트가 바뀌지 않으므로 EXIF가 보존됩니다.
- 자르기, 회전, 가벼운 편집: 대부분의 편집기는 블록을 유지하고 치수와 방향 태그만 갱신합니다. 일부는 다시 씁니다. 이후 뷰어로 확인하세요.
- 스크린샷: 스크린샷은 자체적인 최소한의 EXIF를 가진 완전히 새로운 이미지이며, 원본의 카메라나 GPS 데이터를 전혀 담지 않습니다. 사실상 메타데이터 삭제입니다.
- SNS 플랫폼 업로드: Instagram, Facebook, X, WhatsApp은 재인코딩으로 업로드 시 EXIF를 제거합니다. 이메일, Dropbox, AirDrop 같은 파일 공유 도구는 유지합니다.
EXIF가 무엇을 기록하고 사람들이 왜 확인하는지에 대한 큰 그림은 EXIF 데이터란을 참고하세요.
FAQ
EXIF는 사진 옆의 별도 파일에 저장되나요? 아니요, 이미지 파일 자체 안에 내장됩니다. (일부 전문 RAW 워크플로는 .xmp 사이드카를 사용하지만, JPEG, HEIC, PNG, TIFF의 표준 EXIF는 이미지 안에 있습니다.)
APP1 블록과 IFD의 차이는 무엇인가요? APP1은 EXIF를 담는 JPEG의 슬롯입니다. IFD(IFD0, Exif 서브 IFD, GPS IFD)는 그 슬롯 안의 디렉터리 트리입니다.
정리
EXIF는 숨겨진 앱 데이터베이스나 사이드카 파일에 보관되지 않습니다. 이미지 안에 내장됩니다. JPEG에서는 윗부분 가까이의 APP1 마커 세그먼트를 의미하며, TIFF/IFD 트리(IFD0, Exif 서브 IFD, GPS IFD)로 구조화됩니다. HEIC, PNG, WebP, TIFF는 같은 태그를 각자의 컨테이너에 저장합니다. 안에 새겨져 있기 때문에, 메타데이터는 모든 사본과 함께 이동합니다.
사진의 메타데이터가 어디에 사는지 보려면: EXIF 뷰어. 공유 전에 제거하려면: EXIF 제거기. 모든 태그의 의미는: EXIF 태그 레퍼런스. 모두 브라우저에서, 아무것도 업로드되지 않습니다.
도구 사용해보기
브라우저에서 사진에 도장을 새기거나, iOS 앱을 설치해 GPS와 원자 시간으로 직접 촬영하세요.