본문 바로가기

파일 형식 백과사전

사진만 보내면 위치는 안 새어 나간다? 사진 속 EXIF 확인하고 지우는 법

채팅이나 메일로 사진 한 장을 보낼 때, 흔히들 "이미지 안에는 그림만 들어 있으니 내 위치가 새어 나갈 일은 없다"고 생각합니다. 사진은 픽셀 덩어리일 뿐이라는 믿음 때문입니다.

그런데 스마트폰이나 카메라로 찍은 JPEG에는 그림과 별개로 EXIF라는 정보 묶음이 같이 저장됩니다. 여기에는 촬영 기기, 촬영 시각, 그리고 경우에 따라 찍은 장소의 GPS 좌표까지 들어갈 수 있습니다. 즉 원본 사진을 그대로 전달하면 위치가 함께 따라갈 수 있습니다.

 

EXIF가 정말 위치까지 담는지 직접 확인해 봤습니다

말로만 설명하면 와닿지 않으니, 사진 한 장을 만들어 EXIF에 카메라 정보와 GPS 좌표를 넣어 저장한 뒤, 그 파일에서 어떤 정보가 읽히는지 실제로 꺼내 보았습니다. 측정 환경은 윈도우 11, 파이썬 3.14.3, Pillow 12.2.0입니다.

아래는 좌표를 심은 사진 파일을 다시 열어 getexif()로 읽은 진짜 출력입니다. 좌표는 서울시청 부근(북위 37도 33분 59.4초, 동경 126도 58분 40.8초)을 예시로 넣었습니다.

[BEFORE] 기본 EXIF
  GPSInfo    = 120
  Make       = Apple
  Model      = iPhone 15 Pro
  Software   = 18.5
  DateTime   = 2026:06:25 14:30:00
[BEFORE] GPS
  GPSLatitudeRef   = N
  GPSLatitude      = (37.0, 33.0, 59.4)
  GPSLongitudeRef  = E
  GPSLongitude     = (126.0, 58.0, 40.8)

그림은 단색 사각형 하나뿐인데도, 파일 안에서는 기기 이름과 촬영 시각, 위도와 경도가 그대로 읽힙니다. 사진을 보냈을 뿐인데 찍은 위치가 좌표로 따라갈 수 있다는 뜻입니다.


EXIF를 지우면 정말 사라지는지도 확인

그렇다면 EXIF를 떼어 내면 깨끗해질까요. 같은 사진의 픽셀만 복사해 새 이미지로 다시 저장(EXIF 미포함)한 뒤, 그 파일에서 다시 정보를 읽어 보았습니다. 결과는 이렇습니다.

[AFTER] 기본 EXIF 태그 개수: 0
[AFTER] GPS 태그 개수: 0
[AFTER] EXIF 내용: {} (비어 있음)

카메라 정보도, GPS 좌표도 전부 사라졌습니다. 그림(픽셀)은 그대로이고 따라붙던 정보 묶음만 떨어져 나간 것입니다. 사진 화질은 새로 저장하는 품질 설정에 따라 약간 달라질 수 있지만, 위치 정보가 제거된다는 결과 자체는 구조적으로 동일합니다.

직접 돌려 볼 수 있는 코드

아래 파이썬 코드는 GPS가 박힌 사진을 만들어 정보를 읽고, EXIF 없이 다시 저장해 정보가 사라졌는지 확인합니다. Pillow가 설치돼 있으면 그대로 실행됩니다.

from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS, IFD
from PIL.TiffImagePlugin import IFDRational

# GPS 좌표를 심은 사진 만들기
img = Image.new("RGB", (800, 600), (120, 160, 200))
exif = img.getexif()
exif[0x010F] = "Apple"            # 제조사
exif[0x0110] = "iPhone 15 Pro"    # 모델
gps = exif.get_ifd(IFD.GPSInfo)
gps[1] = "N"
gps[2] = (IFDRational(37,1), IFDRational(33,1), IFDRational(5940,100))
gps[3] = "E"
gps[4] = (IFDRational(126,1), IFDRational(58,1), IFDRational(4080,100))
img.save("photo_with_gps.jpg", exif=exif)

# 읽기 (정보가 들어 있음)
ex = Image.open("photo_with_gps.jpg").getexif()
print("GPS:", ex.get_ifd(IFD.GPSInfo))

# 픽셀만 복사해 EXIF 없이 다시 저장
im = Image.open("photo_with_gps.jpg")
clean = Image.new(im.mode, im.size)
clean.putdata(list(im.getdata()))
clean.save("photo_clean.jpg")

# 다시 읽기 (비어 있음)
ex2 = Image.open("photo_clean.jpg").getexif()
print("정리 후 태그 개수:", len(ex2))

이 방식은 새 이미지로 다시 저장하므로 모든 EXIF가 함께 떨어져 나갑니다. 위치만 남기고 나머지를 보존하려는 게 아니라, 공유 전에 통째로 비우는 용도라고 보시면 됩니다.


코드 없이, 윈도우 탐색기에서 지우는 법

파이썬이 없어도 윈도우에서는 클릭 몇 번으로 위치 정보를 뺄 수 있습니다.

1. 사진 파일을 마우스 오른쪽 클릭하고 속성을 엽니다.
2. 상단 자세히(세부 정보) 탭으로 이동합니다. 여기서 GPS 위도, 경도, 카메라 정보가 보이면 그 사진에 정보가 박혀 있다는 뜻입니다.
3. 탭 아래쪽 속성 및 개인 정보 제거를 클릭합니다.
4. 가능한 모든 속성 제거하여 복사본 만들기를 선택하면, 정보가 빠진 새 사진이 같은 폴더에 만들어집니다. 원본은 그대로 두고 복사본만 공유하면 됩니다.

메뉴 이름은 윈도우 버전에 따라 조금씩 다를 수 있습니다.

스마트폰에서 공유할 때 위치 빼기

스마트폰은 보낼 때 위치만 떼는 옵션을 점점 기본으로 제공합니다.

아이폰은 사진을 고른 뒤 공유 화면 상단의 옵션을 눌러 위치 항목을 끄면 그 전송에서 좌표가 빠집니다. 안드로이드는 기종과 갤러리 앱에 따라 다르지만, 사진 정보(세부 정보) 화면에서 위치를 삭제하거나, 공유 시 위치 제거 옵션을 켜는 식으로 동작합니다. 애초에 카메라 설정에서 위치 태그 저장을 꺼 두면 새로 찍는 사진에는 좌표가 들어가지 않습니다.

그래서 이거 꼭 지워야 하나

모든 사진을 다 지울 필요는 없습니다. 판단 기준은 받는 사람과 공개 범위입니다.

상황 권장
집, 직장 등 사적 공간에서 찍어 불특정 다수에게 공개 위치 제거
중고거래, 커뮤니티, SNS 공개 게시 위치 제거
가족, 지인에게 사적으로 전달 대개 불필요
여행 기록처럼 위치가 의미 있는 개인 보관용 유지해도 무방

핵심은 사진의 픽셀이 아니라 따라붙는 정보 묶음이 새어 나간다는 점입니다. 인터넷에 공개하는 사진이라면 한 번 비우고 올리는 습관이 안전합니다.

 

오늘은 자주 올리는 사진 한 장만 골라 속성에서 자세히 탭을 열어 보세요. GPS 항목이 보인다면, 그 자리에서 속성 제거로 복사본을 만들어 두는 것부터 시작하면 됩니다.