브라우저 기반 HEIC 변환의 작동 원리
브라우저는 단독으로 HEIC를 열 수 없습니다. 이 형식은 HEVC 코덱을 사용하는데, Chrome·Firefox 및 대부분의 데스크톱 브라우저에는 해당 디코더가 내장되어 있지 않습니다. 그래서 이 페이지가 자체 디코더를 가져옵니다. 대부분의 HEIC 도구가 사용하는 오픈소스 라이브러리 libheif를 WebAssembly로 컴파일한 버전이 처음 변환 버튼을 누를 때 로드되어, 모든 디코딩을 로컬에서 처리합니다. 다음은 브라우저 탭 안에서 모두 실행되는 4단계 파이프라인입니다.
- 하나 이상의 HEIC 또는 HEIF 파일을 드롭합니다. 페이지는 각 파일을 메모리의 Blob으로 읽어 들이므로, 서버에 복사되거나 디스크에 기록되지 않습니다.
- 첫 번째 변환 시 libheif WebAssembly 디코더가 한 번만 다운로드되어(약 1.3 MB) 캐시에 저장됩니다. 이후 변환은 대기 없이 바로 시작됩니다.
- libheif가 HEVC 압축 이미지를 원시 픽셀로 디코딩한 후 JPG 또는 PNG로 재인코딩합니다. JPG의 경우 품질 슬라이더가 인코더 압축 설정에 직접 연결되고, PNG 출력은 항상 무손실입니다.
- 각 변환 결과의 썸네일과 파일 크기가 표시되고, 사진별 다운로드 버튼과 전체 배치를 담은 단일 ZIP이 제공됩니다. ZIP은 탭 내에서 동작하는 8 KB 라이브러리 fflate로 메모리에서 생성됩니다.
HEIC를 JPG로 변환해야 하는 이유
- HEIC는 Apple의 기본 형식이지만, 그 밖의 환경에서는 장벽이 됩니다. Windows에서 미리 보기만 해도 유료 코덱 팩이 필요하고, 수많은 웹 업로드 폼이 거부하며, 구형 사진 소프트웨어는 손상된 파일로 처리합니다. JPG는 거의 모든 환경에서 열립니다.
- 사진이 비공개로 유지됩니다. 의료 사진, 고객 부동산, 여권 스캔——이런 파일은 낯선 클라우드 변환 서비스를 거쳐서는 안 됩니다. 본 도구에서 디코딩은 브라우저 내에서 이루어지므로, 이미지가 기기를 벗어나지 않습니다.
- 일괄 변환으로 실질적인 시간을 아낄 수 있습니다. 주말 여행 사진이 수백 개의 HEIC 파일이 될 수 있습니다. 전부 드롭하고, 변환을 한 번 누르고, ZIP 하나를 받으면 됩니다. 한 장씩 변환기를 돌릴 필요가 없습니다.
- 품질과 크기를 직접 제어할 수 있습니다. 슬라이더로 약간의 화질과 훨씬 작은 JPG 사이를 조절할 수 있어, 일괄 파일을 이메일로 보내거나 파일 크기 제한이 있는 CMS에 업로드할 때 유용합니다.
일반적인 활용 사례
iPhone 사진을 Apple 형식을 지원하지 않는 곳에 보내야 할 때마다 HEIC 변환이 필요합니다. 가장 자주 보이는 세 가지 패턴입니다.
- Windows나 Android 사용자와 iPhone 사진 공유. AirDrop은 HEIC를 유지하지만, 사진이 비Apple 기기나 구형 이메일 클라이언트에 도달하는 순간 열리지 않습니다. 미리 JPG로 변환하면 누구에게나 바로 열립니다.
- 웹 폼과 마켓플레이스에 업로드. 채용 포털, 정부 사이트, 쇼핑몰, 보험 청구 업로드——많은 곳에서 여전히 HEIC를 거부합니다. JPG로 빠르게 변환하면 거부되던 파일이 수락됩니다.
- 편집 또는 인쇄용 사진 준비. 구버전 Photoshop·Lightroom과 일부 인쇄 서비스는 HEIC를 처리하지 못합니다. PNG로 변환하면 편집용 전체 화질이 보존되고, JPG로 변환하면 인쇄소에서 받아 줄 작은 파일이 됩니다.
실전 예시: 카메라 롤을 공유 가능한 ZIP으로 변환
여행에서 돌아와 HEIC 사진 40장이 있고, 가족 모두 Windows 노트북을 쓴다고 합시다. 모두가 열 수 있는 파일을 전달하는 가장 빠른 방법입니다.
40개 파일을 한꺼번에 업로드 영역에 드롭합니다. 출력을 JPG로 놔두고 품질을 0.85로 설정합니다——사진이 선명하게 유지되면서 HEIC 원본보다 파일 크기가 훨씬 작아집니다. 전체 변환을 클릭합니다. 디코더가 한 번 로드된 후 배치를 처리하는데, 보통 사진 한 장당 1~2초입니다. 완료되면 .zip 다운로드를 클릭해 이메일로 보내거나 공유 폴더에 넣을 수 있는 아카이브를 받습니다. 전체 과정이 브라우저 안에서 실행되며, 네트워크 트래픽은 페이지 로드 자체와 한 번의 디코더 다운로드뿐입니다. 사진은 서버에 닿지 않습니다.
브라우저가 처음부터 HEIC를 열지 못하는 이유는 무엇인가요?
HEIC는 HEVC(H.265) 압축으로 픽셀을 저장하는데, 이는 특허 보호를 받는 코덱으로 브라우저에 기본 탑재되는 경우가 드뭅니다. Apple은 iOS와 macOS에 내장했지만, Chrome·Firefox 및 대부분의 Windows 소프트웨어에는 HEIC 디코더가 없습니다. 그래서 HEIC 파일이 깨진 이미지 아이콘으로 표시되거나 열리지 않는 것입니다. 본 도구는 자체 디코더(오픈소스 libheif 라이브러리의 WebAssembly 빌드)를 로드해 이 문제를 우회하므로, 브라우저가 기본적으로 무엇을 지원하든 상관없이 변환이 작동합니다.
사진이 어딘가에 업로드되나요?
아닙니다. 모든 디코딩과 재인코딩은 libheif WebAssembly 엔진을 사용해 브라우저 탭 안에서 이루어집니다. 사진 데이터는 서버로 전송되지 않으며, 임시 업로드도, 클라우드 왕복도 없습니다. 직접 확인할 수도 있습니다. DevTools를 열고 네트워크 패널로 전환한 후 변환을 실행해 보세요. 보이는 요청은 초기 페이지 로드, 한 번의 디코더 다운로드, 그리고 광고 호출뿐입니다. 사진 데이터는 탭을 벗어나지 않습니다.
JPG와 PNG 중 무엇을 선택해야 하나요?
사진에는 JPG를 선택하세요——범용 기본 형식으로 품질 슬라이더로 파일을 작게 유지할 수 있으며, 이메일·소셜 미디어·대부분의 업로드 폼이 기대하는 형식입니다. 무손실 복사본이 필요할 때는 PNG를 선택하세요. 예를 들어 이미지를 추가로 편집할 예정이어서 압축 아티팩트를 원치 않거나, 스크린샷처럼 날카로운 모서리와 단색 영역이 있는 경우입니다. PNG는 무손실이라 파일이 더 크므로, 일반 사진이라면 품질 0.85의 JPG가 거의 항상 더 나은 선택입니다.
Live Photo와 다중 이미지 HEIC 파일은 어떻게 처리되나요?
Live Photo, 연속 촬영, 일부 Apple 내보내기 파일을 포함한 일부 HEIC 파일은 단일 컨테이너 안에 여러 이미지를 담고 있습니다. 디코더가 여러 프레임을 발견하면 본 도구는 각각을 변환하고 숫자 접미사로 이름을 붙입니다(photo-1.jpg, photo-2.jpg 등). 덕분에 하나도 잃지 않습니다. 특정 파일이 손상되었거나 libheif가 읽을 수 없는 코덱 변형을 사용하는 경우, 그 파일에는 오류가 표시되고 나머지 배치는 계속 처리됩니다. 불량 사진 한 장이 전체 작업을 멈추지 않습니다.
iPhone 사진을 드롭하고, JPG 또는 PNG를 선택하고, 변환하세요. 모든 것이 탭 안에서 실행됩니다. 업로드 없음, 계정 없음, 서버 대기 없음.