카카오톡으로 받은 사진 날짜가 틀리는 이유와 고칠 수 있는 것
카카오톡은 사진을 보낼 때 EXIF를 지웁니다. 받은 사진에 어떤 날짜 정보가 남는지, 무엇은 복구할 수 없는지, 폴더 단위로 날짜를 넣는 방법을 설명합니다.
카카오톡으로 몇 년치 가족 사진을 받아 저장했거나, 휴대폰이 카카오톡 폴더를 구글 포토에 백업해서 이제 라이브러리에 섞여 있습니다. 전부 날짜가 틀리고, 위치는 하나도 없고, 파일 이름은 KakaoTalk_20190714_110530123.jpg 같은 모양입니다.
카카오톡이 사진에 하는 일
카카오톡은 보내는 사진을 다시 인코딩합니다. 크기를 줄이고, 다시 압축하고, 메타데이터 블록을 버립니다. EXIF 촬영일, 카메라 기종, GPS 좌표가 전부 사라집니다. 이것은 의도된 동작입니다. 데이터를 아끼고, 사진을 보내면서 위치가 새어 나가는 것을 막습니다.
받는 쪽 휴대폰에 도착하는 파일은 DateTimeOriginal이 없는 새 JPEG입니다. 갖고 있는 날짜는 파일 자체의 수정 날짜, 즉 받은 순간뿐이고, 파일 이름의 날짜도 카카오톡이 받은 날짜로 붙인 것입니다.
그래서 2015년에 찍어 2019년에 전달받은 사진은 파일 이름에 2019가 있고 다른 날짜는 어디에도 없습니다. 2015는 파일 안에 없습니다. 애초에 쓰인 적이 없기 때문에 파일에서 복구할 수 없습니다.
복구할 수 있는 것
받은 날짜입니다. KakaoTalk_20190714_110530123.jpg는 2019년 7월 14일 11시 5분 30초를 말합니다. 촬영일은 아니지만, 찍은 날 바로 보낸 사진이라면, 그리고 대부분이 그렇다면, 충분히 가깝습니다. exiftool은 파일 이름에서 이 날짜를 읽어 EXIF에 쓸 수 있습니다.
exiftool "-DateTimeOriginal<${filename;s/KakaoTalk_(\d{4})(\d{2})(\d{2})_(\d{2})(\d{2})(\d{2}).*/$1:$2:$3 $4:$5:$6/}" -ext jpg .
이렇게 하면 EXIF 촬영일이 파일 이름의 날짜와 시각이 됩니다. 그 뒤로는 모든 사진 앱이 그 사진을 맞는 날에 정렬합니다.
사진이 구글 포토를 거쳐 테이크아웃으로 다시 나왔다면, .json 사이드카에 구글이 업로드 시각으로 정한 photoTakenTime이 있는데, 카카오톡 자동 백업이라면 이것도 받은 날입니다. 완벽하지는 않지만 일관됩니다. 테이크아웃 JSON 파일이 무엇인지를 참고하십시오.
복구할 수 없는 것
보낸 사람이 찍은 지 한참 뒤에 보냈다면 원래 촬영일은 없습니다. 위치는 항상 없습니다. 카메라 기종도 항상 없습니다. 여러 사람을 거쳐 전달된 사진이면 파일 이름의 날짜는 마지막 전달 시점입니다.
진짜 날짜의 유일한 출처는 보낸 사람의 원본 파일입니다. 중요하다면 사진이 아니라 파일로 보내 달라고 하십시오. 카카오톡은 파일로 첨부한 것은 그대로 전달하므로 EXIF와 GPS가 남습니다. "원본" 옵션으로 보낸 사진의 EXIF는 앱 버전에 따라 다를 수 있으니, 받은 파일의 속성을 직접 확인하는 것이 확실합니다.
폴더 하나에 날짜 하나 넣기
받은 사진은 묶음인 경우가 많습니다. 누가 보내 준 결혼식 사진, 부모님이 공유한 여행 사진, 친척이 전달한 옛날 사진 스캔. 언제쯤 있었던 일인지 대충 알고, 전부 맞는 달에 들어가기만 하면 됩니다. 정확한 시각은 상관없습니다.
exiftool로 폴더 하나에 이렇게 합니다.
exiftool -DateTimeOriginal="2015:06:20 14:00:00" -overwrite_original .
폴더 안의 모든 JPEG가 그 날짜를 받습니다. 어디였는지도 안다면 -GPSLatitude와 -GPSLongitude를 더합니다.
주의할 점이 있습니다. 카카오톡 폴더는 보통 섞여 있습니다. 내가 찍어 보낸 사진과 받은 사진이 나란히 있습니다. 폴더 전체에 날짜 하나를 넣는 것은 그 폴더가 한 가지 행사일 때만 맞습니다. 먼저 행사별 폴더로 나누십시오.
윈도우에서 몇 장만 고치려면 사진의 속성, 자세히 탭에서 "찍은 날짜"를 직접 입력해도 됩니다. 여러 파일을 선택한 뒤 속성을 열면 같은 날짜를 한 번에 넣을 수 있습니다. 다만 위치는 이 방법으로 넣을 수 없고, 수백 장이 넘으면 폴더 단위 도구가 낫습니다.
카카오톡 사진을 본 라이브러리에서 떼어 놓기
많은 사람이 이 사진들을 라이브러리에 아예 넣고 싶어 하지 않습니다. 휴대폰이 짤과 전달 사진을 전부 자동 저장했고, 구글 포토가 그것을 전부 백업했습니다. 테이크아웃 내보내기에서는 알아보기 쉽습니다. KakaoTalk_로 시작하는 이름에 EXIF 카메라 정보가 없습니다.
전부 날짜순으로 정리하는 대신 기존 폴더를 유지하는 템플릿을 쓰면 카카오톡 폴더는 그대로 남아서 나중에 결정할 수 있습니다. 정리 전에 별도 폴더로 옮겨 두는 것이 가장 간단하게 떼어 놓는 방법입니다.
앱으로 하기
Takeout JSON Metadata Fixer는 카카오톡이 없앤 날짜를 만들어 낼 수 없고, 그런 척하지도 않습니다. 하는 일은 정직한 두 가지 선택을 쉽게 만드는 것입니다. 있는 날짜를 쓰거나, 직접 날짜를 정하는 것입니다.
카카오톡 사진 폴더에 대해 앱은 테이크아웃 사이드카가 있으면 그것을, 다음으로 EXIF를, 다음으로 파일 날짜를 읽습니다. 카카오톡 사진은 앞의 둘이 없어서 파일 날짜를 받는데, 대부분의 휴대폰에서 이것은 받은 날짜입니다. 그것이 틀리거나, 파일을 여기저기 복사하다 오늘 날짜로 초기화됐다면, 폴더 날짜 설정을 쓰십시오. 폴더 안의 모든 사진에 날짜 하나와 장소 하나를 도시 이름이나 좌표로 지정합니다. 앱이 EXIF에 써 주므로 날짜와 장소가 삼성 갤러리, 네이버 MYBOX, Immich 어디로든 사진과 함께 갑니다.
파일 이름도 고쳐 줍니다. KakaoTalk_20190714_110530123.jpg가 2019-07-14-1105.jpg나 선택한 템플릿대로 바뀌고, 나머지 라이브러리와 함께 연/월 폴더에 정리하거나 원하면 따로 둘 수 있습니다.
윈도우, 맥, 리눅스에서 오프라인으로 동작하고 인터페이스는 한국어입니다. 1000장까지 무료, 무제한은 19.99달러 한 번입니다.
자주 묻는 질문
카카오톡 사진에서 원래 촬영일을 되찾는 도구가 있나요?
없습니다. 메타데이터는 파일이 내게 오기 전에 제거됐습니다. 파일 안에 읽을 것이 없습니다. 된다고 하는 도구는 파일 이름이나 파일 날짜, 즉 받은 날짜를 읽는 것입니다.
파일 이름의 날짜는 믿을 만한가요?
그 파일을 저장한 휴대폰에 도착한 날짜입니다. 찍은 날 보낸 사진이면 날짜 단위로는 맞습니다. 전달된 사진이나 누가 꺼내 온 옛날 사진이면 틀립니다.
추측한 날짜를 넣어도 되나요?
대안이 오늘 날짜라면 넣으십시오. 맞는 연도의 추측 날짜는 사진을 이웃 사진 근처에 정렬합니다. 오늘 날짜는 다른 모든 것 아래에 묻어 버립니다. 달만 안다면 1일로 하십시오.