ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HEIC 변환 사이트 안 쓰고 맥에서 한 줄로 끝내는 방법
    외주개발 2026. 9. 12. 09:00

    아이폰에서 받은 사진이 HEIC 변환이 필요한 형식이었다.

    맥에서는 그냥 열린다. 문제는 그다음이었음

    다음에서 HEIC 변환을 검색한 결과

    HEIC가 뭐냐면

    파일 정보를 찍어보면 이렇게 나온다.

    터미널에서 file 명령으로 HEIC 파일 형식을 확인한 결과

    ISO Media, HEIF Image HEVC Main Still Picture Profile

    아이폰이 기본으로 쓰는 형식이다. 같은 화질을 JPEG보다 작게 담아서 아이폰이 이걸 쓴다

    문제는 받는 쪽이다. 웹에 올리거나 남한테 보내면 안 열리는 데가 많다

    파이썬으로 열려고 하면 막힌다

    스크립트로 처리하려다 여기서 걸렸다.

    파이썬 PIL로 HEIC 파일을 열려고 했을 때 실패하는 결과

    같은 폴더의 jpg는 열리는데 HEIC는 못 연다. 파이썬 기본 이미지 라이브러리가 HEIC를 모른다

    그래서 변환을 먼저 해야 했다.


    맥에는 이미 명령이 있다

    sips라는 게 기본으로 깔려 있다. 따로 받을 게 없음

    sips -s format jpeg -Z 1600 사진.HEIC --out 사진.jpg

    터미널에서 sips 명령으로 HEIC를 JPEG로 변환한 결과와 용량 비교

    -Z 1600은 긴 변을 1600픽셀로 줄이라는 뜻이다. 이걸 빼면 원본 크기 그대로 나온다

    1.7MB짜리가 훨씬 가벼워졌다. 웹에 올릴 거면 이 옵션을 같이 주는 게 맞다

    함정 하나 — PNG로 하면 커진다

    미리보기 앱으로도 된다. 파일 → 내보내기에서 포맷을 고르면 됨

    미리보기 내보내기 대화상자에서 PNG 선택 시 파일 크기가 74.4MB로 표시된 화면

    여기서 PNG를 고르면 74.4MB가 된다.

    원본이 1.7MB인데 40배가 넘는다. PNG는 압축을 덜 하는 형식이라 사진에는 안 맞음

    사진이면 JPEG, 화면 캡처면 PNG. 이걸 반대로 하면 용량이 터진다


    함정 둘 — 사진이 옆으로 눕는다

    이게 더 성가셨다.

    변환한 파일을 스크립트로 열었더니 가로세로가 뒤집혀 있었다.

    같은 파일을 EXIF 보정 전후로 열었을 때 크기가 다르게 나오는 결과

    그냥 열면        (1600, 1200)
    EXIF 보정하면    (1200, 1600)

    사진 파일에는 어느 방향으로 돌려서 보여줘야 하는지가 따로 적혀 있다. 화면에 띄우는 프로그램은 그걸 읽어서 돌려주는데, 스크립트로 열면 그걸 안 읽는다

    그래서 자르면 엉뚱한 데가 잘린다.

    EXIF 보정 전후 사진 비교 - 왼쪽은 옆으로 누워 있고 오른쪽은 바로 서 있다

    왼쪽이 그냥 열었을 때다. 벽이랑 커튼이 옆으로 누워 있음

    한 줄이면 고쳐진다.

    from PIL import Image, ImageOps
    im = ImageOps.exif_transpose(Image.open('사진.jpg'))

    자르거나 크기를 바꾸기 전에 이걸 먼저 걸어야 한다. 나는 이걸 안 하고 잘랐다가 다시 했다

    정리하면

    • 변환 사이트에 안 올려도 된다. 맥에 sips가 이미 있다
    • -Z 옵션으로 크기까지 같이 줄인다. 웹에 올릴 거면 이게 낫다
    • PNG로 내보내지 않는다. 사진은 JPEG다. PNG로 하면 74MB가 됐다
    • 스크립트로 다룰 거면 EXIF 회전을 먼저 보정한다. 안 하면 옆으로 누운 채로 잘린다
    • 파이썬 기본 라이브러리는 HEIC를 못 연다. 변환이 먼저다

    같은 폴더 문서 얘기로 zip 푸는 것이랑 hwp 여는 것도 적어놨다.

상호 앤디 · 대표 손영은 · 사업자등록번호 708-38-01407
경기도 안산시 상록구 해안로 705, 3동 1층 107호 · son970523@khu.ac.kr
Designed by Tistory.