Image Compressor
이미지 용량 압축
이미지 파일을 여기에 드래그하거나
파일 선택JPG, PNG, WebP 등 이미지 파일 (파일당 최대 50MB, 여러 파일 가능)
Image Compressor 소개
일괄 이미지 압축 도구는 HTML5 Canvas API의 toBlob() 메서드와 JPEG 인코딩을 사용하여 여러 이미지 파일의 크기를 동시에 줄이는 브라우저 기반 도구입니다. 드래그 앤 드롭 또는 파일 선택으로 여러 JPG, PNG, WebP 파일(각 최대 50MB)을 업로드한 후 한 번의 클릭으로 전체 압축할 수 있습니다. 각 이미지는 Image 요소에 로드된 후 원본 해상도의 Canvas에 그려지고, 사용자가 지정한 1%~100% 품질로 JPEG 블롭으로 재인코딩됩니다.
모든 이미지에 대해 원본과 압축 결과를 나란히 비교하는 전후(Before/After) 비교 기능을 제공합니다. 각 이미지의 원본과 압축 버전이 파일 크기 레이블과 함께 표시되어 다양한 압축 레벨에서의 품질 손실을 시각적으로 확인할 수 있습니다. 압축 비율 바와 절감률 표시기가 각 이미지의 절약된 용량을 정확히 보여주며, 전체 통계 패널에서는 모든 처리된 이미지의 원본 합계, 압축 합계, 총 절감률을 집계합니다.
일괄 모드로 한 세션에서 수십 장의 이미지를 업로드하고 압축할 수 있습니다. 각 압축 파일은 "_compressed" 접미사가 붙어 개별 다운로드하거나, "전체 다운로드" 버튼으로 모든 압축 이미지를 한 번에 저장할 수 있습니다. 모든 처리는 Canvas API를 사용하여 브라우저 내에서만 이루어지며 서버로 이미지 데이터가 전송되지 않습니다.
주요 기능
- 일괄 업로드: 여러 이미지를 드래그 앤 드롭 또는 선택하여 한 번에 업로드, 추가 파일 자유롭게 추가 가능
- HTML5 Canvas toBlob()을 이용한 JPEG 압축 — 1%~100% 범위의 품질 슬라이더
- 원본과 압축 이미지를 나란히 비교하는 전후(Before/After) 미리보기
- 이미지별 압축 비율 표시: 절감률 퍼센트와 시각적 진행 바
- 전체 통계 패널: 총 파일 수, 원본 합계 크기, 압축 합계 크기, 총 절감률
- 이미지별 개별 다운로드 버튼 및 "전체 다운로드" 일괄 내보내기
- JPG, PNG, WebP 입력 형식 지원, 파일당 최대 50MB
- Canvas API를 사용한 100% 클라이언트 사이드 처리 — 서버 업로드 없음, 데이터가 브라우저를 떠나지 않음
- 개별 이미지 삭제 또는 전체 삭제 기능
- 압축 시 원본 이미지 해상도(naturalWidth x naturalHeight)를 그대로 유지
자주 묻는 질문
일괄 이미지 압축은 어떻게 작동하나요?
업로드된 각 이미지는 HTML Image 요소에 로드된 후, 원본 해상도의 오프스크린 Canvas에 그려지고, canvas.toBlob()을 선택한 품질 매개변수(1%-100%)로 호출하여 JPEG로 재인코딩합니다. 메모리 문제를 피하기 위해 이미지를 순차적으로 처리하며, 각 이미지마다 전후 비교 미리보기와 압축 통계가 제공됩니다.
한 번에 몇 장의 이미지를 압축할 수 있나요?
이미지 수에 대한 엄격한 제한은 없습니다. 다만 모든 처리가 브라우저에서 이루어지므로 실질적 한계는 기기의 가용 메모리에 따라 달라집니다. 각 이미지가 두 개의 블롭 URL(원본 및 압축)을 생성하므로, 고해상도 이미지의 대량 배치는 상당한 RAM을 소비할 수 있습니다. 최상의 결과를 위해 한 번에 10-20장씩 처리하는 것을 권장합니다.
품질 슬라이더는 무엇인가요?
품질 슬라이더는 JPEG 압축 레벨을 1%(최대 압축, 최소 파일, 최다 아티팩트)부터 100%(최소 압축, 최대 파일, 최고 품질)까지 제어합니다. 웹용으로는 60-80%가 일반적으로 좋은 균형을 제공합니다. 슬라이더는 "전체 압축"을 클릭할 때 모든 이미지에 적용되며, 조절 후 원하는 만큼 재압축할 수 있습니다.
전후 비교 기능이란 무엇인가요?
압축 후 각 이미지의 원본과 압축 버전을 나란히 표시합니다. "원본" 패널에는 원본 이미지와 파일 크기가, "압축 결과" 패널에는 압축된 JPEG와 줄어든 크기가 표시됩니다. 이를 통해 압축 레벨이 사용 목적에 적합한 품질을 유지하는지 시각적으로 평가할 수 있습니다.
압축 비율 퍼센트는 무엇인가요?
압축 비율은 파일 크기가 원본 대비 얼마나 줄었는지(또는 늘었는지)를 보여줍니다. "-65%"는 압축 파일이 원본보다 65% 작다는 의미입니다. "+" 값은 JPEG 인코딩이 오히려 더 큰 파일을 생성했음을 의미하며, 이미 압축된 이미지나 매우 높은 품질 설정에서 발생할 수 있습니다.
모든 압축 이미지를 한 번에 다운로드할 수 있나요?
네. 압축 후 "전체 다운로드" 버튼이 나타나며, 각 압축 이미지의 개별 다운로드를 트리거합니다. 각 파일은 원본 파일명에 "_compressed"가 추가되어 저장됩니다. 브라우저에서 여러 파일 다운로드를 허용하라는 메시지가 나타날 수 있습니다.
이미지 데이터가 서버로 전송되나요?
아닙니다. 모든 처리는 Canvas API를 사용하여 웹 브라우저 내에서만 이루어집니다. 이미지는 로컬 블롭 URL로 읽히고 Canvas 요소에 그려진 후 JPEG로 재인코딩되며, 모두 브라우저 메모리에서 처리됩니다. 이미지 데이터는 네트워크를 통해 전송되지 않습니다.
어떤 이미지 형식을 지원하나요?
JPG/JPEG, PNG, WebP, BMP, GIF 등 브라우저가 표시할 수 있는 모든 이미지 형식을 입력으로 받습니다. 압축 출력은 항상 JPEG입니다. 투명도가 있는 PNG는 알파 채널이 손실됩니다(투명 영역이 흰색으로 표시). 각 파일은 최대 50MB까지 지원합니다.