PNG 압축 (무료, 빠름, 비공개)

눈에 띄는 시각적 품질 저하 없이 PNG 파일의 데이터 용량을 줄여주는 무료 도구입니다.

개인정보 보호 우선

  • 파일은 브라우저를 절대 떠나지 않습니다
  • 서버 업로드 없음
  • 기기에서 로컬로 처리됨

PNG 압축의 기술적 원리: DEFLATE 알고리즘과 필터링

PNG 파일은 두 단계의 압축 과정을 거칩니다. 첫 번째 단계는 필터링(filtering)으로, 각 픽셀 행의 데이터를 인접 픽셀과의 차이값으로 변환합니다. 이 과정에서 원본 데이터의 반복 패턴이 강화되어 후속 압축 효율이 높아집니다.

두 번째 단계는 DEFLATE 압축입니다. DEFLATE는 LZ77 알고리즘과 허프만 코딩을 결합한 방식으로, 반복되는 바이트 시퀀스를 참조 포인터로 치환하고 자주 등장하는 값에 짧은 비트 코드를 할당합니다. 이 두 단계의 조합이 PNG의 무손실 압축을 가능하게 합니다.

무손실 압축에서 더 나아가려면, 색상 팔레트 최적화가 효과적입니다. 원본 이미지가 실제로 사용하는 색상 수를 분석하여 불필요한 색상 정보를 제거하면, 픽셀당 비트 수가 줄어듭니다. 예를 들어 1670만 컬러(24비트)를 지원하는 이미지가 실제로는 256색만 사용하고 있다면, 인덱스 컬러 모드로 변환만으로도 파일 크기가 크게 감소합니다. 이것이 손실 압축 모드의 핵심 메커니즘입니다.

PNG 압축 도구를 선택할 때 프라이버시가 중요한 이유

대부분의 온라인 이미지 압축 서비스는 동일한 방식으로 작동합니다. 사용자가 파일을 서버에 업로드하면, 서버 측에서 압축을 수행한 뒤 결과 파일을 다시 다운로드 링크로 제공합니다. 이 과정에서 원본 이미지가 제3자의 서버에 일시적으로 저장됩니다.

일반적인 사진이라면 큰 문제가 아닐 수 있지만, 다음과 같은 경우에는 프라이버시 리스크가 실질적인 수준이 됩니다.

업무 문서 스크린샷: 내부 시스템 화면, 재무 데이터, 고객 정보가 포함된 스크린샷이 서버에 업로드되면, 해당 데이터의 처리와 보관 정책을 사용자가 통제할 수 없게 됩니다.

의료 및 법률 이미지: 의료 영상, 스캔 문서, 계약서 이미지 등은 개인정보보호법과 업종별 규정의 적용을 받습니다. 이러한 파일을 외부 서버에 전송하는 것만으로도 규정 위반에 해당할 수 있습니다.

개발 관련 자료: 코드 스크린샷, 서버 설정 화면, API 키가 노출된 화면 등은 서버를 통과하는 순간 보안 사고의 잠재적 원인이 됩니다.

이러한 상황에서 브라우저 내에서 처리되는 압축 도구는 파일이 디바이스 밖으로 나가지 않는다는 점에서 근본적으로 다른 보안 특성을 제공합니다.

서버 업로드 방식과 브라우저 내 처리의 기술적 차이

서버 기반 압축 도구와 브라우저 기반 압축 도구의 차이는 아키텍처 수준에서 발생합니다.

서버 기반 방식: 클라이언트 → HTTP 업로드 → 서버 메모리/디스크 → 서버 측 라이브러리(예: libpng, ImageMagick)로 압축 → 결과 파일 HTTP 응답. 이 구조에서 파일 전송, 처리, 삭제의 전 과정이 서비스 제공자의 관리 하에 있습니다. 업로드된 파일이 실제로 삭제되는지, 로그에 어떠한 정보가 남는지를 사용자가 검증하기 어렵습니다.

브라우저 내 방식: 파일 선택 → FileReader API로 브라우저 메모리 로드 → JavaScript/WebAssembly로 압축 연산 → Blob URL로 결과 생성 → 다운로드. 이 구조에서는 네트워크 전송이 발생하지 않으므로 파일이 사용자의 디바이스를 떠나지 않습니다. 압축 연산은 브라우저의 WebAssembly 엔진이 담당하며, C/C++ 기반의 압축 라이브러리를 웹 환경에서 네이티브에 가까운 속도로 실행할 수 있습니다.

성능 차이도 있습니다. 서버 기반 방식은 네트워크 대역폭과 서버 부하에 영향을 받지만, 브라우저 내 방식은 디바이스의 CPU 성능에만 의존합니다. 최신 브라우저의 WebAssembly 성능은 충분히 빨라서, 수 MB 수준의 PNG 파일을 수 초 내에 처리할 수 있습니다.

압축 설정 선택: 어떤 이미지에 어떤 모드를 적용할 것인가

무손실 압축과 손실 압축의 선택은 이미지 유형에 따라 다릅니다. 두 모드의 특성을 정확히 이해하면 불필요한 품질 손실 없이 최적의 결과를 얻을 수 있습니다.

무손실 압축이 적합한 경우:

  • 텍스트가 포함된 스크린샷 — 텍스트 가장자리의 선명도가 중요하므로 픽셀 변경을 피해야 합니다.
  • UI 요소와 아이콘 — 정확한 픽셀 배치가 레이아웃에 영향을 줍니다.
  • 의료 영상 및 과학 데이터 — 데이터 정밀도가 법적/과학적 요구사항입니다.
  • 투명도가 복잡한 이미지 — 알파 채널의 미세한 변화가 합성 결과에 영향을 줄 수 있습니다.

손실 압축이 적합한 경우:

  • 사진 계열 PNG — JPEG로 변환하지 않은 상태에서 크기를 줄여야 할 때.
  • 색상 수가 제한적인 일러스트 — 팔레트 최적화로 큰 압축 효과를 얻을 수 있습니다.
  • 웹 배너 및 광고 이미지 — 시각적 품질 저하가 전환율에 미치는 영향이 크지 않은 경우.

손실 압축의 핵심 변수는 색상 수(color count)입니다. 256색에서 시작하여 128, 64, 32색으로 줄이면 파일 크기는 급격히 감소하지만, 그라데이션이 포함된 이미지에서는 계단 현상(banding)이 나타납니다. 이 트레이드오프를 실험을 통해 파악하는 것이 중요합니다. 무손실 압축만으로 충분한 결과를 원한다면, 전용 무손실 이미지 압축 도구도 활용할 수 있습니다.

실제 압축 결과: 이미지 특성에 따른 크기 변화 패턴

PNG 압축률은 이미지의 콘텐츠 특성에 따라 크게 달라집니다. 일반적인 패턴을 이해하면 압축 전에 결과를 어느 정도 예측할 수 있습니다.

단순한 UI 스크린샷 (웹 페이지, 앱 화면): 대형 단색 영역과 반복 패턴이 많아 무손실 압축에서도 30~60% 크기 감소가 일반적입니다. DEFLATE 알고리즘이 이러한 반복 데이터를 효율적으로 압축합니다.

텍스트 중심 문서 스크린샷: 배경이 단색이고 텍스트 패턴이 반복되므로, 무손실 압축률이 높습니다. 하지만 한글과 같은 복잡한 문자는 ASCII 텍스트보다 패턴 다양성이 높아 압축률이 소폭 낮아질 수 있습니다.

사진 계열 PNG: 픽셀 간 값 변화가 크고 복잡한 패턴으로 이루어져 있어 무손실 압축률은 5~20% 수준으로 낮습니다. 손실 압축(색상 팔레트 reduction)을 적용하면 40~70%까지 크기를 줄일 수 있지만, 미세한 색상 차이가 발생합니다.

일러스트 및 벡터 래스터화 이미지: 평탄한 색상 영역이 많고 엣지가 명확하여 무손실 압축률이 높습니다. 인덱스 컬러 모드로 변환하면 최대 80%까지 감소하는 경우도 있습니다.

이미지 유형에 따라 압축률이 다르다는 사실은, 동일한 압축 도구를 사용하더라도 설정을 다르게 적용해야 최적의 결과를 얻는다는 것을 의미합니다. JPG 압축 도구와 비교하면, PNG는 사진보다 UI 이미지에서 상대적으로 더 효과적인 압축을 제공합니다.

PNG 파일 크기 관리: 압축 전에 확인할 것들

압축 도구에 파일을 넣기 전에 몇 가지를 확인하면, 불필요한 압축 시도를 줄이고 더 나은 결과를 얻을 수 있습니다.

메타데이터 확인: PNG 파일에는 텍스트 청크(text chunks)로 저장되는 메타데이터가 포함될 수 있습니다. 소프트웨어 정보, 생성 시간, GPS 좌표, 저작권 정보 등이 여기에 해당합니다. 압축 도구에 따라 이 메타데이터를 제거하는 옵션을 제공하는데, 제거만으로도 수 KB에서 수백 KB까지 크기를 줄일 수 있습니다.

색상 모드 점검: 이미지 편집 소프트웨어에서 작업한 파일은 48비트 또는 64비트(Truecolor + Alpha)로 저장되는 경우가 있습니다. 대부분의 웹 사용 시나리오에서는 24비트(Truecolor)나 8비트(Indexed)로 충분합니다. 불필요한 비트 깊이를 줄이는 것만으로 파일 크기가 절반 이하로 감소합니다.

투명도 필요 여부: 알파 채널이 포함된 PNG는 포함되지 않은 파일보다 30% 이상 큰 경우가 많습니다. 투명도가 필요 없는 이미지라면 알파 채널을 제거한 상태로 저장하면 추가 압축 없이도 크기가 줄어듭니다.

인터레이스(interlacing) 설정: 인터레이스 PNG는 점진적 로딩을 지원하지만, 파일 크기가 10~20% 증가합니다. 웹에서 사용할 이미지라면 인터레이스를 비활성화하는 것이 일반적으로 더 효율적입니다.

이 도구 사용 방법

  1. Pixes.app의 PNG 압축 도구 페이지에서 파일 선택 버튼을 클릭하거나, PNG 파일을 드래그 앤 드롭하세요. 이 시점에서 파일은 아직 브라우저 내 메모리에만 로드됩니다.
  2. 무손실 압축과 손실 압축 중 하나를 선택합니다. 무손실은 픽셀 데이터를 변경하지 않고 파일 크기만 줄이고, 손실 압축은 색상 수를 줄여 더 높은 압축률을 제공합니다.
  3. 압축 시작 버튼을 클릭하면 브라우저 내에서 처리가 진행됩니다. 진행률 표시와 함께 원본 대비 파일 크기 변화가 실시간으로 표시됩니다.
  4. 압축이 완료되면 개별 파일 또는 ZIP 형식으로 일괄 다운로드할 수 있습니다. 원본 파일은 브라우저 메모리에서 즉시 해제됩니다.

관련 도구

자주 묻는 질문(FAQ)

PNG 압축 시 이미지 품질이 저하되나요?
무손실(lossless) 압축의 경우 픽셀 단위의 데이터가 변경되지 않으므로 시각적 차이가 전혀 없습니다. 손실(lossy) 압축은 색상 팔레트를 줄이는 방식으로 진행되므로, 사진 계열 이미지에서는 미세한 차이가 발생할 수 있습니다. 하지만 UI 요소나 텍스트 스크린샷에서는 손실 압축을 적용해도 육안으로 구별하기 어렵습니다.
파일이 서버에 업로드되지 않는다는 것을 어떻게 확인할 수 있나요?
브라우저의 개발자 도구(F12)에서 네트워크 탭을 열고 압축을 실행하면, 이미지 데이터가 외부로 전송되지 않는 것을 직접 확인할 수 있습니다. Pixes.app의 압축 도구는 모든 연산을 브라우저 내에서 처리하며, 네트워크 요청은 도구 페이지 로딩 시 한 번만 발생합니다.
PNG 대신 WebP로 변환하는 것이 더 효율적이지 않나요?
압축률만 보면 WebP가 일반적으로 더 높은 비율을 달성합니다. 하지만 브라우저 호환성이 필요한 경우나 PNG 투명도를 정밀하게 유지해야 하는 경우에는 PNG 압축이 더 적합합니다. 포맷 변환을 고려한다면 <a href='/tools/webp-compressor'>WebP 압축 도구</a>도 함께 확인해보세요.
대량의 PNG 파일을 압축할 때 성능 제한이 있나요?
브라우저 내 처리 방식이므로 디바이스의 메모리와 CPU 성능에 영향을 받습니다. 일반적인 데스크톱 브라우저에서는 수십 장의 파일을 일괄 처리할 수 있지만, 모바일 기기에서는 메모리 부족으로 처리가 중단될 수 있습니다. 대량 처리 시에는 파일을 10~20개 단위로 나누어 진행하는 것이 안정적입니다.
압축된 PNG 파일을 다시 압축하면 더 작아지나요?
이미 무손실 압축이 적용된 파일을 다시 무손실 압축하면 크기 변화가 거의 없습니다. DEFLATE 알고리즘이 이미 데이터의 중복을 제거했기 때문입니다. 손실 압축의 경우 추가적인 색상 수 reduction이 가능하지만, 이는 이미지 품질 저하를 동반합니다.