접수 시스템이 500 KB 이하 사진만 받을 때
휴대폰으로 찍은 증빙 서류가 한 장에 3–4 MB입니다. '목표 크기'에 500을 넣거나 '최대 너비와 높이 제한 1920' + 품질 0.75를 켜고, 몇 초 뒤 결과 카드의 용량을 장별로 확인하세요.
Guide
이미지 압축은 브라우저에서 JPG, PNG, WebP(그리고 GIF, BMP, HEIC처럼 디코딩되는 형식) 여러 장을 더 작은 파일로 다시 인코딩합니다. 고정 품질로 한 번 인코딩하거나 목표 용량(KB)을 지정해 자동으로 반복 접근하게 할 수 있고, 긴 변도 함께 제한할 수 있습니다. 이미지는 업로드되지 않습니다.
2026-09-09 업데이트4 sources9 min read
이미지 압축은 브라우저에서 JPG, PNG, WebP(그리고 GIF, BMP, HEIC처럼 디코딩되는 형식) 여러 장을 더 작은 파일로 다시 인코딩합니다. 고정 품질로 한 번 인코딩하거나 목표 용량(KB)을 지정해 자동으로 반복 접근하게 할 수 있고, 긴 변도 함께 제한할 수 있습니다. 이미지는 업로드되지 않습니다.
'용량이 기준선에 걸린' 일상적인 문제를 겨냥합니다. 양식이 500 KB 이하 사진만 받을 때, 메일 첨부가 한도를 넘을 때, 웹 이미지가 로딩을 늦출 때, 휴대폰 앨범의 3–5 MB 원본 수천 장을 보관할 때 쓰입니다. 처리 후에는 전후 용량 통계, 장별 비교 미리보기, zip 묶음이 제공됩니다.
만능은 아닙니다. '압축'은 손실 형식(JPEG, WebP)에서는 눈에 둔감한 디테일을 버리는 일이고, 무손실 형식(PNG)에서는 거의 힘을 못 써 픽셀 크기를 줄이는 수밖에 없습니다. 이 점을 이해하면 각 스위치를 어떻게 켤지 알 수 있습니다. 아래 '동작 원리'에서 자세히 다루며, 이 사이트의 다른 이미지 도구가 '형식과 용량' 문제를 만나면 이 문서를 인용합니다.
원본 크기 → 새 크기와 백분율이 붙습니다. 눈 아이콘을 누르면 '처리 후 / 처리 전'을 오가며 비교할 수 있고, 한 장씩 다운로드하거나 'ZIP으로 묶어 다운로드'할 수 있습니다.
서로 다른 다섯 장을 같은 배치로 네 가지 설정에서 처리한 실측값입니다:
입력 원본 용량 품질 0.75 품질 0.50 0.75 + 긴 변 1920 목표 200 KB
photo-3000x4000.jpg(사진) 1.3 MB 1.1 MB 294 KB 90 KB(→1440×1920) 178 KB
screenshot-1920x1080.png 21.7 KB 14.1 KB 14.1 KB 14.1 KB 14.1 KB
screenshot-1920x1080.jpg 71.9 KB 57.6 KB 49.3 KB 57.6 KB 69.1 KB
scan-1600x1200.webp 342.5 KB 282.3 KB 164 KB 282.3 KB 153.4 KB
logo-400x300.gif → .png 5 KB 4.8 KB 4.8 KB 4.8 KB 4.8 KB
합계 1.7 MB 1.4 MB 526 KB 449 KB 419 KB
품질 슬라이더를 끌어 같은 3000 × 4000 사진의 용량과 부분 확대를 확인해 보세요(실측): 1.0과 0.9는 모두 1.2 MB(원본 인코딩 품질보다 높으면 원본보다 딱 작아질 때까지 자동으로 단계별 하향), 0.75 → 1.1 MB, 0.5 → 294 KB, 0.3 → 117 KB, 0.1 → 81 KB. 0.5 아래에서는 가장자리부터 블록과 링잉이 나타납니다.
몇 가지 눈여겨볼 규칙: PNG는 네 가지 설정에서 용량이 같습니다—품질 슬라이더가 통하지 않기 때문입니다. 사진을 3000 × 4000에서 긴 변 1920으로 줄이면 용량이 7%만 남아 품질을 0.75에서 0.5로 낮추는 것보다 훨씬 효과적입니다. '목표 200 KB'는 사진을 178 KB로 줄였지만 원래 72 KB뿐이던 JPG는 거의 건드리지 않습니다(이미 목표보다 작기 때문).

압축하지 않은 이미지는 픽셀마다 3바이트를 쓰므로 3000 × 4000이면 36 MB입니다. 모든 이미지 형식은 같은 일을 합니다—더 적은 비트로 이 픽셀들을 표현하는 것입니다. 길은 두 가지뿐입니다. 무손실(디코딩 후 원본과 픽셀 단위로 같음)과 손실(사람 눈에 둔감한 정보를 버려 자릿수 단위의 용량 감소를 얻음)입니다.
JPEG는 먼저 RGB를 밝기 + 색차 채널 둘로 바꾸고 색차는 보통 4분의 1로 샘플링합니다. 그다음 이미지를 8 × 8 블록으로 잘라 이산 코사인 변환(DCT)을 해 64개의 주파수 계수를 얻습니다. 이어서 핵심 단계인 양자화가 옵니다. 각 계수를 양자화 테이블의 해당 값으로 나눈 뒤 반올림합니다. 품질 파라미터(이 도구의 0.1–1, 인코더의 10–100에 대응)는 양자화 테이블이 얼마나 '거친지'를 정합니다. 품질이 낮을수록 제수가 커져 고주파 계수가 대거 0이 되고, 마지막 엔트로피 코딩이 0의 연속을 거의 공간을 차지하지 않게 압축합니다.
그래서 품질은 선형이 아닙니다. 0.75 → 0.5에서 위 표의 사진이 1.1 MB에서 294 KB로 떨어지는데, 이 구간에서 고주파 디테일이 대량으로 지워지기 때문입니다. 반대로 0.9 → 1.0은 용량이 두 배가 되는데 눈으로는 거의 차이를 못 느낍니다. 대부분의 사진은 0.7–0.8이 눈과 용량의 균형점이고, 글자 스크린샷류는 JPEG 링잉에 더 민감하니 PNG를 쓰는 편이 낫습니다.
WebP 손실 모드도 발상은 같습니다(예측 + 변환 + 양자화). 같은 화질에서 보통 JPEG보다 25%–35% 작습니다. 이 도구는 WebP 입력을 WebP로 출력하며 품질 슬라이더도 똑같이 작동합니다.
PNG는 무손실 형식입니다. 각 행의 픽셀에 예측 필터를 적용한 뒤 DEFLATE(zip과 같은 알고리즘)로 압축합니다. '얼마나 버릴지'를 정하는 손잡이가 없고, 명세에 품질 파라미터 자체가 없으며 브라우저 캔버스 인코더도 무시합니다. 여기서 두 가지가 갈립니다. 하나, PNG는 큰 단색 면, 글자, 선은 잘 압축하지만(위 표의 1920 × 1080 스크린샷이 14 KB) 사진과 노이즈에는 거의 압축이 안 됩니다. 둘, PNG를 작게 만드는 길은 두 가지뿐입니다—픽셀 크기를 줄이거나, 손실 형식으로 바꾸는 것('이미지 형식 변환' 사용)입니다.
참고로 위 표에서 PNG가 21.7 KB에서 14.1 KB로 준 것은 손실이 아니라, 브라우저의 PNG 인코더가 그것을 만든 도구보다 더 알맞은 필터와 압축 수준을 골랐기 때문입니다.
이 도구(그리고 이 사이트의 모든 이미지 도구)는 브라우저 캔버스를 거쳐 다시 인코딩합니다: 디코딩 → 캔버스에 그리기 → canvas.toBlob(type, quality). 여기서 세 가지가 따라옵니다. 첫째, 인코더는 브라우저가 제공하므로 같은 파라미터라도 Chrome, Safari, Firefox에서 출력 용량이 10~20% 차이 날 수 있습니다. 둘째, 캔버스는 메타데이터가 없는 픽셀 배열입니다. EXIF(촬영 파라미터, GPS), 색상 프로파일은 출력에 들어가지 않고, 방향 태그는 먼저 픽셀에 적용된 뒤 버려지므로 세로로 찍은 사진이 눕지 않습니다. 셋째, JPEG에는 투명 채널이 없어 투명 영역은 흰색으로 채워집니다.
목표 모드는 품질 0.95에서 인코딩을 시작합니다. 목표를 넘으면 가로·세로를 각각 0.95배, 품질을 다시 0.95배 해 다시 인코딩하며 최대 10회 반복합니다. 10회 후 변은 최대 원래의 60%(픽셀 36%), 품질은 약 0.57까지 내려갑니다. 그래도 목표를 넘으면 마지막 회차 결과를 내놓습니다—인터페이스에 '최대한 근접'이라고 쓰인 이유입니다. 해상도가 아주 높은 사진은 변 줄이기가 품질 낮추기보다 기여가 커서, 목표 모드의 사진이 '품질 0.5'보다 더 작고 더 선명한 경우가 많습니다.
첫 인코딩 결과가 원본 파일보다 크면 라이브러리는 품질을 회차마다 0.95배씩 낮춰 다시 시도하며, 최대 10회까지 출력이 원본보다 작아질 때까지 반복합니다. 그래서 위의 품질 85 사진은 슬라이더를 1.0에 두든 0.9에 두든 같은 1.2 MB가 나옵니다. 10회 후에도 원본보다 작지 않으면 도구는 원본을 그대로 두고 '원본이 이미 충분히 작아 변경하지 않음'이라고 표시합니다. 이미 잘 최적화된 PNG에서 흔합니다.
_압축 접미사가 붙습니다.휴대폰으로 찍은 증빙 서류가 한 장에 3–4 MB입니다. '목표 크기'에 500을 넣거나 '최대 너비와 높이 제한 1920' + 품질 0.75를 켜고, 몇 초 뒤 결과 카드의 용량을 장별로 확인하세요.
한꺼번에 끌어다 놓고 긴 변 1600, 품질 0.8로 한 번에 처리해 zip으로 묶어 운영 담당자에게 넘깁니다. 흰 배경 PNG가 여전히 크면 '이미지 형식 변환'으로 WebP로 바꾸세요.
PNG 스크린샷은 이 도구로 먼저 재압축하세요(흔히 20%–40% 절약, 무손실). 글자 가장자리가 선명하게 유지됩니다. JPEG로 바꾸지 마세요.
원본 수천 장이 수십 GB입니다. 긴 변 2560, 품질 0.8이면 용량이 10분의 1 정도로 줄지만 EXIF가 사라지므로 촬영 시간을 남겨야 한다면 원본을 따로 저장하세요.
PNG는 무손실 형식이라 조절할 품질 파라미터가 없습니다. 이 도구는 브라우저 인코더로 한 번 다시 압축할 뿐이고 효과는 원본의 최적화 정도에 달려 있습니다. 눈에 띄게 줄이려면 크기를 줄이거나 WebP / JPEG로 바꾸세요.
원본이 이미 잘 압축되어 있거나 고른 품질이 원본의 인코딩 품질보다 높을 때입니다. 이때 도구는 원본 파일을 그대로 둡니다.
반복 상한이 10회라 해상도가 높은 이미지는 10회 안에 목표까지 줄지 못할 수 있습니다. '최대 너비와 높이 제한'을 켜고 다시 돌리거나 목표를 기준선보다 살짝 낮게 잡으세요.
아니요. 방향 태그는 먼저 픽셀에 적용된 뒤 인코딩되므로 출력 이미지는 어떤 뷰어에서든 방향이 같습니다. 다만 태그 자체는 다른 EXIF와 함께 제거됩니다.
됩니다. HEIC는 로컬에서 JPEG로 디코딩한 뒤 압축하며 네트워크를 쓰지 않습니다. 장수 제한은 없고 브라우저 메모리에 달려 있습니다. 4000 px 사진 수십 장은 문제없고 수백 장은 나눠서 처리하는 편이 좋습니다.
디코딩, 크기 조정, 인코딩이 모두 브라우저 안에서 끝나고 이미지는 업로드되지 않으며 네트워크 없이도 쓸 수 있습니다. 출력 이미지에는 EXIF와 GPS가 없습니다. 더 자세한 내용은 개인정보 처리방침을 참고하세요.
HTMLCanvasElement.toBlob()—type과 quality 파라미터, PNG는 quality 무시: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob(열람일: 2026-09-09)maxSizeMB, initialQuality, maxWidthOrHeight, maxIteration의 동작: https://github.com/Donaldcwl/browser-image-compression(열람일: 2026-09-09)2026-09-09 업데이트
JPG/PNG/WebP를 품질 또는 목표 용량 기준으로 일괄 압축, 업로드 없이 로컬 처리
이 도구는 아직 완전히 번역되지 않아 일부 내용이 원문 또는 대체 언어로 표시됩니다.