📁 File2. 이미지04 · 이미지 포맷 전수 비교

04 · 이미지 포맷 전수 비교

이 문서가 답하는 질문: JPEG / PNG / GIF / WebP / AVIF / HEIF / JPEG XL — 각 포맷은 어디에 강하고 어디서 깨지는가?


한 줄 답 (Pyramid Top)

모든 이미지 포맷은 손실 vs 무손실 × 자연사진 vs 그래픽 × 정지 vs 애니메이션 × HDR 지원 × 디코더 보급률의 5축에서 서로 다른 타협을 한다. 현시점(2026.05)의 합리적 기본값은 사진=AVIF(JPEG fallback), 그래픽=WebP/PNG, 애니메이션=AVIF/WebP, 라이브 사진=HEIF.


Why — 왜 포맷이 이렇게 많은가

이미지 포맷의 다양성은 시기별 우선순위 변화의 화석이다:

  • 1987 GIF: CompuServe가 256색 LZW로 만든 최초의 인터넷 이미지 (특허 분쟁의 시작)
  • 1992 JPEG: 자연사진을 위한 손실 압축 표준
  • 1996 PNG: GIF 특허 회피 + 알파 + 무손실
  • 2010 WebP: Google의 VP8 기반 — JPEG/PNG 통합 시도
  • 2019 AVIF: AV1 코덱의 키프레임 — 차세대 표준 후보
  • 2017 HEIF: Apple이 채택한 HEVC 기반 — iOS 기본 포맷
  • 2021 JPEG XL: JPEG 무손실 변환 + 미래 지향 — Chrome 채택 거부로 보급 정체

How — 각 포맷의 메커니즘

1) JPEG (1992) — 자연사진의 왕

  • 압축 방식: DCT (Discrete Cosine Transform) → 양자화 → Huffman/Arithmetic
  • 색공간: YCbCr 4:2:0 (크로마 서브샘플링)
  • 비트: 8bit only (12bit 확장 있지만 거의 미지원)
  • 알파: ❌ (없음)
  • 애니메이션: ❌
  • MIME: image/jpeg

상세는 05-jpeg-deep.md.

2) PNG (1996) — 그래픽·로고·스크린샷의 표준

  • 압축 방식: DEFLATE (LZ77 + Huffman) — 무손실
  • 색공간: sRGB / RGB / Grayscale / Indexed
  • 비트: 1, 2, 4, 8, 16
  • 알파: ✅ (8bit 또는 16bit)
  • 애니메이션: APNG 확장 (지원 제한적)
  • MIME: image/png
  • 약점: 사진 압축률이 JPEG의 5~10배 큼

3) GIF (1987) — 레거시 애니메이션

  • 압축: LZW (LZ78 변종)
  • : 256색 indexed only
  • 알파: 1bit (투명/불투명)
  • 애니메이션: ✅ (이게 GIF의 유일한 존재 이유)
  • 약점: 256색 한계, 파일 크기 큼
  • 현대 대안: WebP / AVIF / mp4 (Twitter는 GIF 업로드를 mp4로 자동 변환)

4) WebP (2010) — Google의 통합 포맷

  • 코덱: VP8 (lossy) / VP8L (lossless)
  • 색공간: sRGB
  • 비트: 8bit only
  • 알파: ✅ (lossy/lossless 모두)
  • 애니메이션: ✅
  • MIME: image/webp
  • 압축률: JPEG 대비 2535% 작음, PNG 대비 ~26% 작음
  • 약점: 8bit 한계, HDR 미지원, JPEG XL/AVIF에 점점 밀림

상세는 06-modern-codecs-webp-avif.md.

5) AVIF (2019) — AV1 키프레임

  • 코덱: AV1
  • 컨테이너: ISOBMFF (HEIF와 동일 박스 구조)
  • 색공간: sRGB / P3 / Rec.2020
  • 비트: 8 / 10 / 12
  • 알파: ✅
  • 애니메이션: ✅ (사실상 짧은 AV1 비디오)
  • HDR: ✅ (HLG / PQ)
  • MIME: image/avif
  • 압축률: JPEG 대비 ~50% 작음 (같은 품질)
  • 약점: 인코딩 5~10배 느림, 작은 이미지(<200KB)에서 이득 적음

6) HEIF (2015) — iPhone 기본 포맷

  • 코덱: HEVC (H.265) — .heic, AV1 — .avif (AVIF는 HEIF 컨테이너의 한 변종)
  • 컨테이너: ISOBMFF
  • 비트: 8 / 10 / 12
  • 알파: ✅
  • 다중 이미지: ✅ (라이브 포토, 버스트, 깊이맵)
  • HDR: ✅
  • MIME: image/heif, image/heic
  • 약점: HEVC 라이선스, 비-Apple 환경 디코더 부족

7) JPEG XL (2021) — 차세대 후보 (보급 정체)

  • 코덱: VarDCT (modular + DCT)
  • 색공간: sRGB / P3 / Rec.2020 / 사용자 정의
  • 비트: 1~32 float
  • 알파: ✅
  • 애니메이션: ✅
  • HDR: ✅
  • 무손실 JPEG 변환: ✅ (기존 JPEG를 ~20% 줄여 무손실 재인코딩)
  • MIME: image/jxl
  • 현실: Chrome이 2022년 지원 거부 → Safari 17(2023)이 채택, Firefox는 flag 뒤. 2026.05 기준 Chrome 미지원 → 웹에서 fallback 필수.

What — 종합 비교표

1) 기능 매트릭스

포맷손실무손실알파애니메HDR비트다중 이미지
JPEGO(mode)XXX8X
PNGXOO(APNG)X8/16X
GIF(256색)O(1bit)OX8 indexedO
WebPOOOOX8X
AVIFOOOOO8/10/12O
HEIFOOOOO8/10/12O
JPEG XLOOOOO1~32fO

2) 호환성 표 (2026.05 기준)

포맷ChromeSafariFirefoxiOS SafariAndroid Chrome비고
JPEGAllAllAllAllAll1996년 이후 모두
PNGAllAllAllAllAll1996년 이후 모두
GIFAllAllAllAllAll영원히
WebP32+ (2014)14+ (2020)65+ (2019)iOS 14+All2020년부터 보편
AVIF85+ (2020)16.4+ (2023.03)113+ (2023)iOS 16.4+100+ (2022)iOS<16.4 fallback 필요
HEIFX17+ (Picture Element)XiOS 17+X (2026)사실상 iOS 전용
JPEG XLX (거부)17+90+ flagiOS 17+X보급 정체
APNG59+8+3+iOS 8+AllPNG 애니메

3) 압축률 비교 (같은 사진, SSIM ≈ 0.97 기준)

테스트: 4032×3024 풍경 사진, AVIF/WebP/JPEG로 동일 SSIM 인코딩

포맷파일 크기인코딩 시간 (CPU)디코딩 시간
JPEG (mozjpeg q=80)1.2 MB0.3s25 ms
WebP (q=80)0.85 MB (-29%)0.5s30 ms
AVIF (speed=4, q=60)0.55 MB (-54%)4.5s80 ms
JPEG XL (effort=7)0.62 MB (-48%)6s60 ms

4) 사용 결정 트리


What-if — 잘못 선택하면

함정 1) 사진을 PNG로 저장

증상: 풍경 사진 PNG = 8MB. 같은 화질 JPEG = 1MB.

원인: PNG는 사진의 픽셀 간 무작위성을 압축하지 못한다. DEFLATE는 반복 패턴에 강함.

함정 2) 로고를 JPEG로 저장

증상: 로고 가장자리에 모기 노이즈(mosquito noise) 링.

원인: JPEG의 8×8 DCT 블록이 고대비 가장자리(텍스트, 로고)에서 ringing artifact를 만듦.

함정 3) AVIF만 사용 → iOS 15 사용자에게 X 표시

증상: 약 5~10%의 iOS 사용자에게 깨진 이미지.

해결:

<picture>
  <source type="image/avif" srcset="photo.avif">
  <source type="image/webp" srcset="photo.webp">
  <img src="photo.jpg" alt="...">
</picture>

함정 4) GIF 애니메이션 = 5MB

증상: 짧은 짤이 5MB. 모바일 데이터 폭탄.

해결: AVIF 애니메이션 또는 mp4(h264) 변환 → 보통 1/10 이하.

함정 5) WebP를 인쇄용으로 사용

증상: 디자이너가 WebP를 인쇄소에 보냄 → 거부당함.

원인: WebP는 sRGB 8bit / CMYK 미지원. 인쇄용은 TIFF(16bit CMYK) 또는 PSD.


Insight — 포맷 전쟁의 정치학

“AVIF가 표준이 된 이유는 라이선스가 아니라 Netflix·YouTube다”

AV1을 만든 Alliance for Open Media (Google, Netflix, Amazon, Apple, Microsoft, Mozilla 등)는 비디오 코덱의 라이선스 문제를 해결하기 위해 만들어진 컨소시엄. AVIF는 그 비디오 코덱의 키프레임을 추출한 것 → 이미 비디오 인프라가 있는 회사들이 자연스럽게 채택.

“JPEG XL은 기술적으로 우월하지만 졌다”

JPEG XL은:

  • 기존 JPEG를 무손실 변환 (~20% 감소) → 마이그레이션 비용 0
  • 32bit float, 무한 색공간, 점진적 디코딩
  • AVIF보다 빠른 인코딩

그러나 Google이 Chrome에서 제거했다 (2022). 공식 사유는 “사용자 가치 부족”이지만, 업계는 AV1/AVIF 진영의 정치로 해석. Apple은 Safari 17(2023)에서 채택 → Apple vs Google의 코덱 양분.

“GIF는 죽었지만 죽지 않는다”

1987년 표준이 2026년에도 살아있는 이유: 밈 문화. Twitter/Discord가 자동으로 GIF→mp4로 변환해서 실제 GIF 트래픽은 거의 없지만, URL 끝의 .gif는 의미적으로 살아남았다. “GIF를 만든다” = “짧은 무한루프 영상을 만든다”의 동의어.


한 단락 요약

이미지 포맷은 손실/무손실 × 사진/그래픽 × 정지/애니메이션 × HDR × 호환성의 5축에서 다른 타협을 하는 도구들이고, 2026년 현실적 기본값은 사진=AVIF + JPEG fallback / 그래픽=WebP/PNG / 애니메이션=AVIF/mp4 / iPhone 카메라=HEIF. JPEG XL은 기술적으로 차세대지만 정치로 보급이 정체. 다음 문서들에서 JPEG/WebP/AVIF의 내부를 본격적으로 다룬다.