Skip to content
khiopost — 개발·AI 트러블슈팅
Go back

아이폰 HEIC 사진 왜 안 열릴까 — 회사 PC에서 겪은 뒤 정리한 3가지 대응

Updated:

아이폰으로 찍은 사진을 회사 PC로 옮겼는데 더블클릭해도 안 열렸다. 혹시 옮기다 손상됐나 싶어 다시 옮겨봤지만 똑같았다. 확장자를 보니 .jpg가 아니라 .heic. 문제는 여기서 끝이 아니었는데, 급한 대로 그 파일을 서류 접수 사이트에 올리려니 이번엔 "지원하지 않는 파일 형식"이라며 업로드 자체를 거부당했다.

원인은 손상이 아니라 포맷 그 자체였다. HEIC는 아이폰이 iOS 11부터 기본으로 쓰는 고효율 포맷이라 애플 기기 밖에서는 안 열리는 곳이 많고, 대응은 세 갈래다. 당장 한두 장이면 카톡으로 보내서 다시 저장하면 되고, 여러 장이거나 화질이 중요하면 브라우저에서 JPG로 변환하는 게 낫고, 아예 안 겪으려면 아이폰 카메라 설정을 바꾸면 된다. 각각 직접 해보면서 알게 된 함정이 하나씩 있어서, 그것까지 같이 적는다.

HEIC 사진, 왜 내 컴퓨터에서만 안 열릴까

한 줄 답부터. 아이폰이 iOS 11부터 사진을 JPEG 대신 HEIF(고효율 이미지 포맷)로 저장하기 때문이고, 파일 확장자가 그 유명한 .heic다. 같은 화질을 절반 가까운 용량에 담는 좋은 포맷인데, 문제는 애플 생태계 밖 호환성이다.

내 경우가 정확히 그랬다. 맥이나 아이패드에서는 한 번도 문제가 없어서 이 포맷의 존재 자체를 몰랐다. 회사 윈도우 PC에 옮기고 나서야 처음 알았다.

윈도우에서 안 열리는 이유는 코덱이 없어서다. 여기에 헷갈리는 포인트가 하나 있는데, Microsoft Store에서 확장을 받으라는 안내를 따라가 보면 유료(0.99달러)가 뜨는 경우가 있다. 이건 HEVC라는 동영상 코덱 얘기고, HEIC 이미지를 여는 데 필요한 "HEIF 이미지 확장"은 무료다. 이 둘을 뒤섞어 설명하는 글이 많아서 유료인 줄 알고 포기하는 사람이 꽤 있다.

유료로 뜨는 건 HEVC Video Extensions 쪽이다. 근데 무료 확장이 있어도 내 상황엔 소용이 없었다. 회사 PC는 Microsoft Store 설치가 정책으로 막혀 있었다. 그리고 코덱을 깔아서 열리게 만들어도, 서류 접수 사이트가 .heic 업로드를 거부하는 건 그대로다. 결국 어떤 식으로든 JPG로 바꿔야 한다는 결론이 나온다.

방법 1 — 카톡으로 보내고 다시 저장 (급할 때, 함정 있음)

내가 처음 쓴 방법은 카카오톡이었다. 아이폰에서 사진을 카톡 "나에게 보내기"로 전송하고, PC 카톡에서 그 사진을 다시 저장하면 JPG로 떨어진다. 카톡이 전송 과정에서 이미지를 재인코딩하기 때문이다. 별도 프로그램 없이 1분 만에 되니까 급한 서류 한두 장엔 이만한 게 없다.

함정은 화질이다. 카톡은 일반 화질로 보내면 이미지를 압축해서 보낸다. 눈으로 봐도 원본보다 흐릿해진 게 느껴질 때가 있고, 인쇄하거나 확대할 사진이면 차이가 확 드러난다. 원본 화질로 보내는 옵션을 켜면 좀 낫지만, 그래도 원본 파일 그 자체는 아니다.

방법 2 — 설치 없이 브라우저에서 JPG로 변환

두 번째부터는 변환기를 찾았다. 검색하면 업로드형 변환 사이트가 잔뜩 나오는데, 솔직히 회사 서류나 신분증 들어간 사진을 남의 서버에 올리는 게 찝찝했다. 그래서 지금은 서버 업로드 없이 브라우저 안에서만 변환이 도는 HEIC → JPG 변환기를 쓴다 — 미리 밝혀두면 내가 직접 만들어 운영하는 도구 사이트(papernhoney)의 도구다. 남의 서버가 찝찝해서 아예 서버로 안 보내는 방식으로 만들었다. 파일을 끌어다 놓으면 브라우저가 자기 자리에서 변환하고, 사진이 기기 밖으로 나가지 않는다.

실제로 3.26MB짜리 HEIC 사진을 품질 0.9로 변환해 보니 2.37MB JPG가 나왔다. 여러 장을 한 번에 올려서 ZIP으로 받는 것도 되니까, 카톡 우회처럼 한 장씩 반복할 필요가 없다. 회사 PC처럼 설치가 막힌 환경에서도 브라우저만 열리면 된다는 게 결정적이었다.

변환하고 나니 이번엔 업로드 용량 제한에 걸리는 경우가 있었는데, 접수 사이트들이 파일당 용량을 제한하는 일이 흔해서다. 그럴 땐 이미지 용량 줄이기(같은 사이트에 있는 내 도구다)로 목표 용량 이하로 압축해서 넘겼다. 이것도 같은 방식이라 파일이 서버로 올라가지 않는다.

맥이라면 터미널 한 줄로도 된다

집에서는 맥을 쓰니까 터미널로도 해봤다. macOS에 기본 내장된 sips 명령이면 변환기 없이 바로 된다.

sips -s format jpeg 사진.heic --out 사진.jpg

내 맥(M1 맥북)에서 3,415,027바이트짜리 HEIC를 변환하니 1,712,140바이트 JPG가 나왔다. 파일 정보 확인도 sips로 된다.

sips -g pixelWidth -g pixelHeight -g format 사진.heic
  pixelWidth: 2000
  pixelHeight: 1500
  format: heic

사진 수십 장을 폴더째 변환할 거면 sips -s format jpeg *.heic --out 변환폴더/ 식으로 한 번에 돌리면 된다. 다만 이건 맥 한정이고, 정작 HEIC 때문에 곤란한 순간은 대부분 윈도우 앞에서 온다는 게 아이러니다. 변환한 사진 뭉치를 zip으로 묶어 옮기다가 맥에서 압축 오류 79를 만난 적도 있는데, 그건 또 다른 삽질이었다.

방법 3 — 다시는 안 겪는 설정, 그런데 나는 안 바꿨다

근본 대응은 아이폰이 처음부터 JPEG로 찍게 만드는 거다. 설정 → 카메라 → 포맷에서 "고효율성"을 "높은 호환성"으로 바꾸면 그 뒤로 찍는 사진은 전부 JPEG로 저장된다.

아이폰 HEIC 사진 포맷 설정 화면 — 카메라 캡처에서 고효율성과 높은 호환성 중 선택

위 캡처가 내 아이폰 실제 설정 화면인데, 보다시피 나는 여전히 "고효율성"에 체크돼 있다. 안 바꾼 이유는 단순하다. 사진 용량이 대략 두 배가 되는 걸 감수하고 싶지 않았다. 128GB 아이폰에서 사진이 수천 장 쌓이면 이 차이가 꽤 크다. 게다가 HEIC 때문에 곤란한 순간은 한 달에 몇 번 안 되고, 그때만 변환하면 된다는 계산이었다.

반대로 사진을 회사 PC로 옮기는 일이 매일 있는 사람이라면 설정을 바꾸는 쪽이 맞다. 본인 패턴에 따라 고르면 되는 문제지, 정답이 있는 문제는 아니다.

설정을 안 바꾸고도 부분적으로 피해 가는 방법이 하나 더 있다. 아이폰에서 사진을 메일이나 웹 업로드로 공유하면 상당수 경우 자동으로 JPEG로 변환돼 나간다. 파일 앱에서 원본을 직접 옮길 때만 HEIC 그대로 나온다고 보면 대충 맞다. 그래서 "어제는 됐는데 오늘은 안 열려요" 같은 일이 생긴다 — 어제는 공유 시트로 보냈고 오늘은 원본을 복사한 차이다.

결국 나는 브라우저 변환에 정착했다. 카톡 우회는 빠른 대신 화질을 내주는 방식이고, 설정 변경은 저장 공간을 내주는 방식이라 둘 다 뭔가를 포기해야 했는데, 필요할 때만 변환하는 쪽이 내 패턴에는 제일 맞았다.

덤으로 생긴 습관이 하나 있다. 변환한 사진을 어딘가 올리기 전에 용량부터 보게 됐다. 예전에 워드프레스 로딩 속도를 붙잡고 씨름할 때 무거운 이미지 한 장이 로딩 시간을 통째로 잡아먹는 걸 본 적이 있어서, HEIC 사진을 JPG로 바꾸는 김에 용량까지 한 번에 정리하는 게 몸에 뱄다. 어차피 한 번 겪을 삽질이면, 습관 하나 건진 걸로 퉁치기로 했다.


글쓴이 — khio · 10년차 백엔드 개발자. 직접 겪은 문제와 해결 과정을 기록한다.
Share this post on:

Previous Post
Cloudflare Workers Cron Trigger가 안 돌 때 — 은퇴시킨 워커에서 배운 것들
Next Post
맥 자소분리 — 한글 파일명 깨짐, 압축 3종을 바이트 단위로 검증했다