이미지 압축·최적화
JPEG·WebP 재인코딩과 PNG 색상 양자화로 이미지 용량을 줄이는 도구입니다. 전후 용량을 비교하고 여러 장을 ZIP으로 한 번에 압축하며, 파일은 기기 밖으로 나가지 않습니다.
웹·앱에 이미지를 올리기 전에 용량을 줄이면 로딩이 빨라지고 저장 비용도 아낄 수 있습니다. 이 도구는 JPEG·WebP 재인코딩과 PNG 색상 양자화로 용량을 줄이고 전후 크기를 한눈에 비교합니다.
품질 슬라이더로 화질과 용량의 균형을 맞추고, 여러 장을 한꺼번에 올리면 압축 결과를 ZIP으로 묶어 내려받습니다. 같은 화질이라면 WebP가 JPEG보다 더 작아 웹 배포에 유리합니다.
모든 처리는 브라우저 안에서 끝나며 파일을 서버로 보내지 않고 다시 인코딩합니다. 압축이 끝나면 파일별 전후 용량과 절감률을 표로 정리해 보여주므로, 어떤 이미지가 얼마나 줄었는지 바로 확인할 수 있습니다.
품질 값을 지나치게 낮추면 경계선이 뭉개지거나 색 얼룩(아티팩트)이 두드러질 수 있으므로, 결과 표의 절감률과 미리보기를 함께 보면서 값을 조정하는 편이 안전합니다. 투명 배경이 필요한 이미지는 알파를 배경색으로 덮어버리는 JPEG를 피하고 PNG나 WebP를 고르세요 — PNG 경로는 색을 256색으로 줄이는 손실 최적화지만 해상도와 투명도는 그대로 남습니다.
고르는 즉시 드롭존에 몇 장을 담았는지와 원본 합계가 먼저 적힙니다. 크기 표기는 1024를 한 단계로 삼아 1KB에 못 미치면 정수 바이트로, 그 위부터는 소수 한 자리까지 적습니다. 슬라이더는 5%에서 100%까지 움직이고 처음에는 80%에 놓여 있으며, 작업이 끝나면 몇 장을 처리했고 묶음 전체가 몇 퍼센트 줄었는지 한 줄로 요약됩니다.
절감 칸이 0% 이하로 나오는 경우에 화면은 두 가지 서로 다른 말을 합니다. 하나는 이미 충분히 최적화돼 있어 원본을 그대로 내보냈다는 뜻이고, 다른 하나는 새 파일을 만들었는데 그것이 원본보다 커졌으니 원본을 쓰라는 뜻입니다. 앞쪽은 내려받은 바이트가 업로드한 바이트와 똑같다는 말이고 뒤쪽은 다른 파일이 손에 들어왔다는 말이라, 같은 0%라도 그다음에 할 일이 갈립니다.
원본으로 물러나는 길은 원본이 애니메이션이 아닌 PNG일 때에만 열립니다. JPEG 원본을 PNG로 저장해 결과가 커진 경우에는 물러날 무손실 원본이 없으므로 커진 새 파일이 그대로 나가고 표에는 음수 절감률이 그대로 적힙니다. 2026-09-15 실행 검증에서는 더 줄일 여지가 없는 2×2 단색 PNG 95바이트를 넣었더니 내려받은 파일이 원본과 바이트 하나까지 동일했습니다.
PNG 경로가 언제나 색을 깎는 것은 아닙니다. 입력에 들어 있는 고유색이 256개 이하이면 감색기를 아예 부르지 않고 실제 입력색으로 팔레트를 짜므로 픽셀이 한 바이트도 바뀌지 않고, 256개를 넘을 때에만 팔레트로 줄입니다. 어느 쪽이든 가로·세로와 알파 단계는 살아남아 완전히 투명한 자리도 반투명한 자리도 원래 값 그대로 돌아옵니다.
PNG를 고른 순간에만 그 인코더를 내려받고 계산은 백그라운드 스레드에서 돌립니다. 그래서 색이 많은 큰 PNG를 여러 장 걸어 두어도 화면이 응답을 멈추지 않고, PNG를 쓰지 않는 사람은 그 코드를 아예 받지 않습니다.
묶음이 통째로 들어오지 못하는 조건도 있습니다. 골라 둔 것 중 한 장이라도 브라우저가 디코드하지 못하면 그 묶음 전체가 취소되고 직전에 잡아 둔 목록이 그대로 남습니다. 반대로 이미지가 아닌 파일이 섞여 있으면 그것만 조용히 빠지고 나머지는 정상으로 들어오며, 이미지가 한 장도 없으면 이미지를 고르라는 안내로 끝납니다.
애니메이션 PNG는 예외 취급을 받습니다. 첫 프레임만 남긴 정지 이미지로 저장되는데, 이때는 결과가 원본보다 커지더라도 원본으로 물러나지 않습니다 — 물러나는 순간 방금 정지 이미지로 바꾼 파일이 다시 움직이는 파일이 되어 화면이 약속한 것과 어긋나기 때문입니다.
주요 기능
- JPEG·WebP 재인코딩으로 용량 축소
- PNG 색상 양자화(최대 256색) — 투명도 유지
- 전후 용량·절감률 비교 표
- 품질 슬라이더로 화질/용량 조절(JPEG·WebP)
- 여러 장 배치 압축 → ZIP 다운로드
- 완전 브라우저 처리 — 업로드 없음
- 드롭존에 선택 장수·원본 합계 표시(1024 진법, 1KB 미만은 정수 바이트)
- 무이득 두 갈래 구분 — 원본 그대로 내보냄 vs 결과가 더 커짐
- 원본 물러남은 비애니메이션 PNG 원본에서만 — 그 밖은 새 파일 그대로
- 고유색 256 이하 PNG는 감색 생략 — 픽셀 무변경
- PNG 인코딩은 선택 시에만 로드 + 백그라운드 스레드 실행
- 한 장이라도 디코드 실패하면 그 묶음 전체 취소, 직전 목록 유지
- APNG는 첫 프레임 정지 저장 — 크기와 무관하게 원본 물러남 없음
사용 전 확인
JPEG·WebP 재인코딩과 PNG 색상 양자화로 이미지 용량을 줄이고 전후 크기를 비교합니다.
압축할 이미지를 한 장 이상 준비하세요. 여러 장을 올리면 ZIP으로 묶여 내려받습니다.
사용 순서
- 이미지를 드래그하거나 선택해 업로드합니다(여러 장 가능).
- 출력 포맷(WebP/JPEG/PNG)을 고르고 JPEG·WebP는 품질을 조절합니다.
- 압축 버튼을 눌러 결과를 내려받습니다.
- 전후 용량과 절감률 표로 결과를 확인합니다.
주의사항
- 품질을 너무 낮추면 경계가 뭉개지거나 얼룩(아티팩트)이 생길 수 있습니다.
- PNG는 최대 256색 손실 최적화이며 APNG는 첫 프레임만 저장합니다.
- 오래된 브라우저는 WebP 저장을 지원하지 않아 실패 시 안내가 표시됩니다.
자주 묻는 질문
Q. PNG를 고르면 품질 슬라이더 대신 경고 문구가 뜹니다. 그래도 압축을 진행할 수 있나요
됩니다. PNG를 고르면 품질 슬라이더 자리에 경고 문구만 나타날 뿐 압축 버튼은 그대로 눌립니다. 경고는 안내일 뿐 진행을 막지 않으므로 그 상태로 눌러도 정상적으로 처리됩니다.
Q. 이미지 한 장만 올렸는데 결과가 ZIP이 아니라 이미지 파일로 바로 받아집니다
의도된 동작입니다. 결과가 하나뿐이면 ZIP으로 묶지 않고 이미지 파일 그대로 내려받습니다. ZIP 압축은 결과가 두 개 이상일 때만 자동으로 적용됩니다.
Q. 같은 이름의 파일 두 개를 올렸더니 파일명 뒤에 -2가 붙어 나옵니다
의도된 동작입니다. 배치 안에서 저장될 이름이 겹치면(예: logo.png와 logo.jpg를 둘 다 같은 포맷으로 압축할 때) 나중 파일 이름 끝에 -2, -3처럼 번호가 자동으로 붙어 ZIP 안에서 서로 다른 이름을 갖습니다.
Q. 압축 후에도 화면의 작은 미리보기가 그대로예요 — 결과가 반영 안 된 건가요
정상입니다. 화면에 보이는 작은 미리보기는 업로드한 원본이며 압축 후에도 바뀌지 않습니다. 실제 압축 결과의 전후 크기와 절감률은 압축 버튼을 누른 뒤 나타나는 표에서 확인하고, 최종 결과는 내려받은 파일로 확인하세요.
이 도구는 설치 없이 브라우저에서 바로 실행됩니다. 화면이 이 안내에 머물러 있다면 JavaScript를 활성화한 브라우저로 접속해 주세요.