MOM.SOFT

MOMSOFT  /  가이드

Guide

이미지 압축, 화질 손해 없이 용량 줄이는 법

이미지 용량은 포맷보다 픽셀 수가 먼저 결정합니다. 왜 커지는지 이해하면 어떤 이미지든 화질 체감 손실 없이 절반 이하로 줄일 수 있습니다.

프로젝트 문의하기 →

이미지 용량은 무엇이 결정하는가

압축되지 않은 이미지의 크기는 아주 단순한 곱셈으로 정해집니다. 가로 픽셀 수 × 세로 픽셀 수 × 픽셀당 바이트 수입니다. 일반적인 8비트 RGB 이미지는 픽셀 하나에 빨강·초록·파랑 각 1바이트씩 총 3바이트를 씁니다. 그래서 1200만 화소 사진(4000 × 3000)은 압축하기 전 상태로 약 3,600만 바이트입니다. 1MB를 100만 바이트로 세면 약 36MB, 1,024 × 1,024바이트로 세면 약 34MB이니, 어느 기준으로 보든 실제 촬영 파일보다 열 배 가까이 큽니다. 카메라에서 나온 파일이 3~5MB에 그치는 것은 이미 JPEG나 HEIC로 압축해 저장했기 때문입니다.

여기서 용량을 키우는 요소는 세 가지입니다. 첫째는 해상도로, 픽셀 수에 정비례하기 때문에 영향이 가장 큽니다. 둘째는 비트 깊이입니다. 채널당 8비트면 256단계, 16비트면 65,536단계를 표현하는 대신 데이터가 두 배가 됩니다. 알파(투명도) 채널이 붙으면 픽셀당 4바이트가 되어 33%가 늘어납니다. 셋째가 포맷과 압축 방식입니다. 많은 분들이 세 번째만 신경 쓰지만, 실제로 절감 폭이 가장 큰 것은 첫 번째입니다.

참고로 DPI(해상도 표시값)는 웹에서 아무 의미가 없습니다. 72dpi든 300dpi든 파일에 기록된 숫자일 뿐이고, 화면에 표시되는 크기와 파일 용량은 오직 픽셀 수가 결정합니다. DPI는 인쇄할 때 몇 인치로 찍을지 계산하는 값입니다.

손실 압축과 무손실 압축

무손실 압축은 데이터를 재배열해 반복 패턴을 줄일 뿐, 원본 픽셀값을 그대로 복원합니다. PNG가 쓰는 DEFLATE 방식이 대표적입니다. 같은 색이 넓게 이어지거나 규칙적인 패턴이 있을 때 강력하지만, 픽셀마다 값이 미세하게 다른 사진에서는 거의 줄지 않습니다.

손실 압축은 사람 눈이 잘 감지하지 못하는 정보를 의도적으로 버립니다. JPEG는 이미지를 8 × 8 블록으로 나눠 주파수 성분으로 바꾼 뒤 고주파(미세한 디테일)를 거칠게 표현합니다. 여기에 더해 크로마 서브샘플링으로 색 정보만 가로·세로 각각 절반 해상도로 줄입니다. 흔히 쓰는 4:2:0 설정이 그것으로, 색 표본 수로 따지면 4분의 1이 됩니다. 사람 눈이 밝기 변화보다 색 변화에 둔감하다는 특성을 이용한 것이라 사진에서는 티가 거의 나지 않습니다. 반대로 색 경계가 날카로운 글자나 도형에서는 번짐이 눈에 띕니다.

손실 압축에서 반드시 알아야 할 것이 세대 손실입니다. JPEG를 열어 편집하고 다시 JPEG로 저장하는 과정을 반복하면 손실이 누적됩니다. 열어서 보기만 하는 것은 괜찮지만, 저장 버튼을 누를 때마다 화질이 조금씩 깎입니다. 그래서 편집이 예정된 파일은 원본을 따로 보관하고, 최종 결과물만 압축하는 순서를 지켜야 합니다.

어떤 포맷을 언제 쓰는가

JPG (JPEG)

사진의 기본값입니다. 호환성이 가장 넓어 어디서든 열립니다. 투명도를 지원하지 않고, 글자·선이 많은 이미지에는 약합니다. 첨부 파일, 증명사진, 서류 제출처럼 호환성이 최우선일 때 선택합니다.

PNG

무손실이며 투명 배경을 지원합니다. 스크린샷, 로고, 도표, UI 이미지에 적합합니다. 사진에 쓰면 JPG보다 몇 배에서 열 배까지 커지기도 하므로 사진용으로는 피하는 것이 좋습니다.

WebP

손실·무손실 두 모드를 모두 지원하고 두 모드 다 투명도를 다룹니다. 같은 체감 화질에서 JPEG보다 눈에 띄게 작아지는 경우가 많아 웹사이트 이미지의 현실적인 기본값입니다. 최신 브라우저는 모두 지원합니다.

AVIF

AV1 코덱 기반으로 압축률이 가장 높은 편이며, 특히 용량을 크게 줄인 상태에서 화질 유지가 좋습니다. 10비트·넓은 색역도 다룹니다. 대신 인코딩이 느리고, 오래된 앱이나 편집 도구에서 열리지 않을 수 있습니다.

SVG

로고, 아이콘, 단순 도형이라면 애초에 압축 대상이 아닙니다. 벡터로 만들면 크기와 무관하게 선명하고 파일도 수 KB 수준입니다.

HEIC

아이폰 기본 촬영 포맷으로 JPEG보다 효율이 좋습니다. 다만 윈도우나 일부 웹사이트에서 열리지 않아, 외부 제출용이라면 JPG로 변환해 두는 편이 안전합니다.

정리하면 사진은 JPG 또는 WebP·AVIF, 글자와 단색 면이 많으면 PNG, 도형은 SVG입니다. 투명 배경이 필요한데 JPG로 저장하면 투명 영역이 검정 또는 흰색으로 채워져 되돌릴 수 없다는 점도 기억해 두시기 바랍니다.

품질 80% 법칙이 통하는 이유

JPEG 저장 옵션의 품질 수치는 절대적인 화질 척도가 아니라 양자화 테이블을 얼마나 거칠게 쓸지 정하는 스케일 값입니다. 그래서 인코더마다 같은 80이 조금씩 다르게 동작하고, WebP의 80과 JPEG의 80도 1:1로 대응하지 않습니다. 그럼에도 75~85 구간이 실무 기본값으로 자리 잡은 데는 이유가 있습니다.

다만 품질 값을 정할 때는 이미지 종류를 봐야 합니다. 노이즈가 많은 야간 사진, 미세한 질감이 중요한 제품 사진, 빨간 글씨가 들어간 이미지는 같은 숫자에서도 손상이 더 눈에 띕니다. 한 장을 세 가지 값으로 저장해 100% 확대로 비교한 뒤 기준을 정하는 방법이 가장 확실합니다.

리사이즈가 압축보다 효과가 큰 이유

파일 크기는 대략 픽셀 수에 비례합니다. 가로세로를 각각 절반으로 줄이면 픽셀 수는 1/4이 됩니다. 4000 × 3000 사진을 2000 × 1500으로 줄이는 것만으로 품질 설정을 건드리지 않고도 용량이 4분의 1 수준으로 떨어집니다. 반면 품질을 90에서 80으로 낮춰 얻는 절감은 그보다 훨씬 작습니다.

더 중요한 것은 어차피 그 큰 해상도가 쓰이지 않는다는 점입니다. 블로그 본문에 가로 800px로 표시되는 자리에 4000px 이미지를 올리면, 브라우저는 내려받은 뒤 축소해서 보여줍니다. 방문자는 화질 이득을 전혀 못 얻고 데이터만 소모합니다. 스마트폰으로 보는 사람에게는 그 낭비가 더 큽니다.

그래서 압축 작업의 올바른 순서는 ① 필요한 표시 크기 결정 → ② 리사이즈 → ③ 포맷 선택 → ④ 품질 조정 → ⑤ 불필요한 메타데이터 제거입니다. 순서를 지키면 원본이 큰 사진일수록 절감 폭이 커져, 10분의 1 안팎까지 줄어드는 경우도 흔합니다.

용도별 권장 크기

스크린샷은 왜 PNG가 유리한가

스크린샷은 사진과 성질이 정반대입니다. 넓은 단색 면, 반복되는 UI 요소, 날카로운 글자 경계로 이루어져 있습니다. PNG의 무손실 압축은 같은 값이 반복되는 구간을 아주 효율적으로 줄이기 때문에 이런 이미지에서 오히려 JPG보다 작아지는 경우가 많습니다. 게다가 글자 획이 원본 그대로 보존됩니다.

같은 스크린샷을 JPG로 저장하면 8 × 8 블록 경계와 크로마 서브샘플링 때문에 글자 주변에 회색 얼룩이 생기고, 특히 파란 배경 위 빨간 글씨처럼 색 대비가 큰 조합에서 번짐이 심해집니다. 개발 로그, 오류 메시지, 계약 화면처럼 글자를 정확히 읽어야 하는 스크린샷은 반드시 PNG나 무손실 WebP로 남기시기 바랍니다.

반대의 경우도 있습니다. 스크린샷 안에 사진이나 그라데이션이 화면 대부분을 차지한다면 PNG가 몇 MB로 불어납니다. 이때는 손실 WebP나 품질 85 정도의 JPG가 낫습니다. 색 수가 적은 단순 UI 스크린샷이라면 PNG를 256색 팔레트(PNG-8)로 바꾸는 것만으로 용량이 크게 줄어듭니다.

자주 하는 실수

운영체제별 기본 방법

윈도우에서는 그림판에서 이미지를 연 뒤 크기 조정으로 픽셀 값을 지정하고 JPEG로 다른 이름 저장하면 됩니다. 가로세로 비율 유지 옵션을 켜 두어야 사진이 찌그러지지 않습니다. 은 미리보기 앱의 도구 메뉴에서 크기 조정을 하고, 파일 내보내기 창의 품질 슬라이더로 압축 강도를 정할 수 있습니다. 파인더에서 여러 장을 선택해 빠른 동작의 이미지 변환을 쓰면 일괄 처리도 가능합니다. 아이폰은 설정의 카메라 포맷에서 고효율(HEIC)과 높은 호환성(JPEG)을 고를 수 있으며, 공유 과정에서 자동으로 JPEG로 바뀌는 경우도 많습니다. 안드로이드는 기기마다 다르지만 갤러리 편집에서 해상도를 줄이거나, 공유 시 전송 화질을 선택하는 옵션을 제공하는 앱이 많습니다.

모바일에서 메신저로 사진을 보내면 앱이 알아서 화질을 낮춰 전송하는 경우가 많습니다. 이때 받은 쪽이 다시 그 파일을 편집해 보내면 세대 손실이 겹치므로, 화질이 중요한 사진은 원본 보내기 옵션을 쓰거나 파일 형태로 전달하는 편이 낫습니다. 여러 장을 한 번에 처리하거나 설치 없이 브라우저에서 끝내고 싶다면 Utilo 이미지 압축 같은 웹 도구를 쓰는 방법도 있습니다. 어떤 방식을 쓰든 결과물을 100% 확대해 글자와 매끄러운 면을 한 번 확인하는 습관이 화질 사고를 막아 줍니다.

압축 전 점검 3가지 — ① 이 이미지가 실제로 표시될 가로 픽셀은 몇인가 ② 글자가 들어 있는가(있으면 PNG 계열) ③ 원본을 따로 남겼는가. 이 세 가지만 지켜도 용량은 줄고 화질 문제는 거의 생기지 않습니다.

자주 묻는 질문

품질은 몇 %로 저장하는 게 적당한가요?

사진이라면 75~85 구간을 기본으로 두시면 됩니다. 90을 넘으면 파일만 커지고 눈에 보이는 개선은 거의 없으며, 60 아래로 내려가면 매끄러운 면에 블록 자국과 경계 번짐이 나타나기 시작합니다. 다만 품질 수치는 인코더마다 계산 방식이 달라 절대 기준이 아니므로, 대표 이미지 한 장을 여러 값으로 저장해 100% 확대 비교한 뒤 기준을 정하는 것이 가장 확실합니다.

PNG를 JPG로 바꾸면 무조건 용량이 줄어드나요?

이미지 종류에 따라 다릅니다. 사진이라면 대부분 크게 줄어들지만, 스크린샷이나 로고처럼 단색 면과 글자가 많은 이미지는 JPG로 바꿔도 별로 줄지 않거나 오히려 커질 수 있습니다. 게다가 JPG는 투명도를 지원하지 않아 투명 배경이 단색으로 채워지고 되돌릴 수 없습니다. 이런 이미지는 PNG를 유지하거나 무손실 WebP를 쓰는 편이 낫습니다.

WebP나 AVIF로 바꿔도 호환성 문제가 없을까요?

웹사이트에 올려 브라우저로 보여 주는 용도라면 최신 브라우저가 모두 지원하므로 문제가 거의 없습니다. 다만 관공서 서류 업로드, 오래된 사내 시스템, 일부 편집 프로그램은 여전히 JPG나 PNG만 받는 경우가 있습니다. 외부에 제출하거나 상대방이 어떤 환경에서 열지 모를 때는 JPG가 가장 안전한 선택입니다.

압축한 이미지를 원래 화질로 되돌릴 수 있나요?

손실 압축(JPG, 손실 WebP·AVIF)은 정보를 실제로 버리기 때문에 되돌릴 수 없습니다. 화질을 다시 올리는 것처럼 보이는 도구도 실제로는 없는 정보를 추정해 채우는 것입니다. PNG나 무손실 WebP처럼 무손실 방식은 원본 픽셀이 그대로 보존되므로 복원이 가능합니다. 따라서 편집 가능성이 있는 파일은 원본을 반드시 따로 보관하시기 바랍니다.

관련 도구

이 글에서 설명한 작업은 이미지 압축에서 설치 없이 바로 처리할 수 있습니다. 파일이 서버로 올라가지 않고 브라우저 안에서 변환됩니다.

기술이 필요한 일이 있으신가요

맘소프트는 소프트웨어 개발과 기술 자문을 제공합니다. 편하게 문의해 주세요.

[email protected]