IMAGE TOOLBOX / GUIDE
PNG vs JPG vs WebP, 언제 무엇을 써야 할까
세 형식의 압축 방식 차이부터 실측 데이터까지 정리했습니다.
압축 방식이 근본적으로 다릅니다
PNG는 무손실 압축 형식입니다. 원본 픽셀 정보를 그대로 유지한 채 파일 구조만 효율적으로 압축하기 때문에 화질 손상이 전혀 없습니다. 대신 사진처럼 색이 복잡한 이미지에서는 용량이 크게 나옵니다.
JPG는 손실 압축 형식입니다. 사람 눈이 잘 구분하지 못하는 정보를 의도적으로 버려서 용량을 크게 줄입니다. 색이 복잡하고 경계가 부드러운 사진에는 효율적이지만, 단색과 선명한 경계가 많은 그래픽에는 오히려 불리합니다.
WebP는 손실·무손실 모드를 모두 지원하는 비교적 최신 형식입니다. 이 사이트의 압축 도구는 WebP를 손실 모드로 출력하며, 같은 손실 압축이라도 JPG보다 더 작은 용량으로 비슷한 화질을 담아내는 경우가 많습니다.
투명도와 호환성
투명 배경이 필요하다면 PNG나 WebP를 선택해야 합니다. JPG는 투명도를 지원하지 않습니다. WebP도 알파 채널(투명도)을 지원하지만, 오래된 프로그램이나 일부 이미지 편집 소프트웨어에서는 WebP 파일을 열지 못할 수 있어 호환성이 가장 중요한 상황이라면 PNG나 JPG가 더 안전합니다.
실측 데이터로 보면
이론상의 설명만으로는 감이 잘 안 올 수 있어서, 실제로 두 종류의 테스트 이미지(사진형, 그래픽형)를 이 사이트의 압축 도구로 직접 압축해 정확한 바이트 수를 측정했습니다. 전체 결과는 실측 압축률 비교에서 확인할 수 있고, 핵심만 요약하면 다음과 같습니다.
사진형 이미지에서는 JPG와 WebP 모두 80% 품질에서 원본 대비 90% 이상 용량이 줄었습니다. 반면 그래픽형(단색·UI) 이미지에서는 JPG 100% 품질이 오히려 원본 PNG보다 큰 파일로 나왔고, WebP는 100% 품질에서도 원본보다 73.6% 작았습니다. 즉 그래픽·스크린샷류에는 JPG가 잘 맞지 않는다는 것이 실측으로 확인됩니다.
상황별 추천
사진 — JPG 또는 WebP, 80% 품질 부근.
투명 배경이 필요한 그래픽·로고 — PNG(무손실 보장) 또는 WebP.
스크린샷·UI처럼 단색이 많은 이미지 — WebP(호환성이 걱정되면 PNG).
이 비교는 정지 이미지 기준입니다. GIF나 애니메이션 WebP처럼 움직이는 이미지는 압축 방식이 또 달라서 이 페이지의 실측 결과가 그대로 적용되지 않고, 이 사이트의 압축 도구도 정지 이미지(JPG·PNG·WebP)만 지원합니다.
자주 묻는 질문
WebP를 열 수 없다는 프로그램이 있는데 왜 그런가요?
WebP는 비교적 최신 형식이라 오래된 이미지 편집 프로그램이나 일부 운영체제 기본 뷰어에서는 지원하지 않을 수 있습니다. 대부분의 최신 웹 브라우저는 문제없이 지원합니다.
PNG를 JPG로 바꾸면 무조건 용량이 줄어드나요?
대체로 그렇지만 항상은 아닙니다. 단색과 선명한 경계가 많은 이미지는 JPG로 바꿨을 때 오히려 원본 PNG보다 커질 수 있습니다. 자세한 실측 수치는 실측 압축률 비교를 참고하세요.
화질 손상 없이 용량만 줄이고 싶으면 어떤 형식을 써야 하나요?
완전한 무손실을 원한다면 PNG를 유지해야 합니다. PNG 자체는 품질 설정과 무관하게 용량이 줄지 않으므로, 용량을 줄이려면 가로세로 크기(해상도)를 줄이는 방법을 함께 고려해야 합니다.
AVIF는 왜 다루지 않나요?
AVIF는 WebP보다 더 최근에 나온 형식으로 압축 효율이 뛰어나지만, 이 사이트의 압축 도구가 아직 AVIF 입출력을 지원하지 않아 이 글에서는 다루지 않았습니다. PNG·JPG·WebP만으로도 대부분의 상황을 충분히 커버할 수 있습니다.
이미지를 여러 번 저장(재압축)하면 화질이 계속 나빠지나요?
JPG나 WebP 손실 압축은 저장할 때마다 정보를 조금씩 더 버리기 때문에, 이미 압축된 파일을 다시 열어 압축하는 과정을 반복하면 화질이 누적으로 나빠집니다. 여러 버전이 필요하다면 매번 원본에서 새로 압축하는 것이 안전합니다. PNG는 무손실이라 이런 손실이 없습니다.
여러 장의 사진을 한 번에 다른 형식으로 바꿀 수 있나요?
아니요. 이 사이트의 압축 도구는 한 번에 한 장씩 처리합니다. 여러 장을 형식만 바꾸고 싶다면 한 장씩 순서대로 업로드해서 변환해야 합니다.