WebP는 흔히 화질을 조금 줄여 용량을 아끼는 형식으로 알려져 있습니다. 그런데 WebP에는 무손실 모드가 따로 있어서, 픽셀을 하나도 건드리지 않고 용량만 줄이는 것도 가능합니다. 로고나 화면 캡처처럼 화질을 절대 잃으면 안 되는 이미지에 특히 쓸모가 있습니다.
그래서 실제로 PNG 세 종류를 무손실 WebP로 바꿔 용량이 얼마나 줄고, 투명 배경까지 그대로 살아남는지 측정해 봤습니다.

세 가지 성격의 이미지로 재 봤습니다
이미지 종류마다 압축이 먹히는 정도가 다를 것 같아,
성격이 다른 세 장을 준비했습니다.
측정 환경은 윈도우 11, 파이썬 3.14.3, 이미지 라이브러리 Pillow이고, WebP는 무손실 옵션으로 저장했습니다.
| 이미지 유형 | PNG | 무손실 WebP | WebP 크기(PNG 대비) |
|---|---|---|---|
| 로고 (투명 배경, 단색 많음) | 3.7 KB | 1.1 KB | 29% |
| 스크린샷 (UI, 반복 패턴) | 5.5 KB | 0.5 KB | 8% |
| 사진 (노이즈 많음) | 934.4 KB | 525.4 KB | 56% |
세 경우 모두 줄었지만 폭이 크게 달랐습니다.
같은 색이 넓게 깔린 로고와 스크린샷은 10분의 1 수준까지 줄고,
잔무늬가 많은 사진은 절반 정도에서 멈췄습니다.
왜 이미지마다 줄어드는 폭이 다를까
무손실 압축은 반복되는 패턴을 찾아 짧게 줄여 저장합니다.
로고나 스크린샷은 같은 색 덩어리와 규칙적인 선이 많아 반복이 풍부하니 크게 줄어듭니다.
반대로 사진은 픽셀마다 색이 미세하게 달라 반복이 적고,
그만큼 압축 여지가 작습니다.
그래서 결론의 방향은 대체로 일정합니다.
단색과 도형 위주의 그래픽일수록 무손실 WebP의 절감 효과가 크고,
자연 사진에서는 효과가 완만합니다.
투명 배경도 그대로 살아남을까
PNG의 큰 장점인 투명 배경이 WebP로 옮겨도 유지되는지 확인했습니다.
투명한 로고를 무손실 WebP로 저장한 뒤 원래 투명하던 지점을 검사한 결과입니다.
무손실 WebP 로고 모드: RGBA
투명 픽셀 (0,0)의 알파값: (0, 0, 0, 0) # 알파 0 = 완전 투명 유지
원본 PNG와 픽셀 완전 일치: True
투명도가 그대로 유지됐고, 픽셀도 원본과 한 점 다르지 않았습니다.
무손실이라는 이름 그대로, 보이는 결과는 똑같고 용량만 줄어든 셈입니다.
직접 변환해 보기
Pillow로는 lossless=True 한 줄이면 됩니다.
이 옵션을 빼면 화질을 줄이는 일반(손실) WebP로 저장되니, 무손실을 원할 때는 반드시 넣어야 합니다.
from PIL import Image
im = Image.open("logo.png")
im.save("logo.webp", lossless=True) # 무손실 WebP로 저장
여러 장을 한꺼번에 바꾸려면 폴더를 훑어 반복 저장하면 됩니다.
명령줄 도구를 선호한다면 구글이 배포하는 cwebp에서 -lossless 옵션으로 같은 결과를 얻을 수 있습니다.
자주 묻는 질문
Q. 그럼 PNG 대신 항상 무손실 WebP를 쓰면 되나요?
용량만 보면 유리하지만, 아주 오래된 브라우저나 일부 프로그램은 WebP를 못 열 수 있습니다. 웹에 올릴 용도라면 요즘 브라우저 대부분이 지원하니 무난하고, 어디서나 열려야 하는 파일이면 PNG를 함께 두는 편이 안전합니다.
Q. 손실 WebP로 하면 더 줄지 않나요?
네, 사진이라면 손실 WebP가 훨씬 작아집니다. 다만 화질이 조금 깎이므로, 로고나 텍스트가 선명해야 하는 이미지에는 무손실이 맞습니다.
Q. 무손실인데 사진은 왜 절반밖에 안 줄었나요?
노이즈가 많은 사진은 반복이 적어 무손실 압축의 한계가 빨리 옵니다. 사진 용량을 크게 줄이려면 화질을 조금 내주는 손실 방식을 고려해야 합니다.
무손실 WebP는 화질과 투명도를 그대로 지키면서 용량만 덜어 내는 선택지입니다.
지금 가진 PNG가 단색 위주의 로고나 캡처라면 효과가 특히 클 테니, 한 장 변환해 크기를 비교해 보시길 권합니다.
'파일 형식 백과사전' 카테고리의 다른 글
| JPG 저장할 때 화질(quality)을 몇으로 두면 좋을까, 옵션별 용량 실측 방법 (0) | 2026.07.26 |
|---|---|
| 큰 CSV를 엑셀 대신 SQL로 다루기, SQLite에 불러와 조회하는 방법 (0) | 2026.07.25 |
| 커진 CSV를 gzip으로 압축하기, 얼마나 줄고 압축한 채로 바로 읽을 수 있을까? (0) | 2026.07.24 |
| 투명 배경 PNG를 JPG로 저장했더니 배경이 새까맣게, 원인과 깔끔한 해결법 (0) | 2026.07.23 |
| 중첩된 JSON을 엑셀에서 열리는 CSV로, 배열까지 한 줄씩 펼쳐 변환하기 (0) | 2026.07.22 |