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 | 비트 | 다중 이미지 |
|---|---|---|---|---|---|---|---|
| JPEG | O | (mode) | X | X | X | 8 | X |
| PNG | X | O | O | (APNG) | X | 8/16 | X |
| GIF | (256색) | O | (1bit) | O | X | 8 indexed | O |
| WebP | O | O | O | O | X | 8 | X |
| AVIF | O | O | O | O | O | 8/10/12 | O |
| HEIF | O | O | O | O | O | 8/10/12 | O |
| JPEG XL | O | O | O | O | O | 1~32f | O |
2) 호환성 표 (2026.05 기준)
| 포맷 | Chrome | Safari | Firefox | iOS Safari | Android Chrome | 비고 |
|---|---|---|---|---|---|---|
| JPEG | All | All | All | All | All | 1996년 이후 모두 |
| PNG | All | All | All | All | All | 1996년 이후 모두 |
| GIF | All | All | All | All | All | 영원히 |
| WebP | 32+ (2014) | 14+ (2020) | 65+ (2019) | iOS 14+ | All | 2020년부터 보편 |
| AVIF | 85+ (2020) | 16.4+ (2023.03) | 113+ (2023) | iOS 16.4+ | 100+ (2022) | iOS<16.4 fallback 필요 |
| HEIF | X | 17+ (Picture Element) | X | iOS 17+ | X (2026) | 사실상 iOS 전용 |
| JPEG XL | X (거부) | 17+ | 90+ flag | iOS 17+ | X | 보급 정체 |
| APNG | 59+ | 8+ | 3+ | iOS 8+ | All | PNG 애니메 |
3) 압축률 비교 (같은 사진, SSIM ≈ 0.97 기준)
테스트: 4032×3024 풍경 사진, AVIF/WebP/JPEG로 동일 SSIM 인코딩
| 포맷 | 파일 크기 | 인코딩 시간 (CPU) | 디코딩 시간 |
|---|---|---|---|
| JPEG (mozjpeg q=80) | 1.2 MB | 0.3s | 25 ms |
| WebP (q=80) | 0.85 MB (-29%) | 0.5s | 30 ms |
| AVIF (speed=4, q=60) | 0.55 MB (-54%) | 4.5s | 80 ms |
| JPEG XL (effort=7) | 0.62 MB (-48%) | 6s | 60 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의 내부를 본격적으로 다룬다.