사진 용량을 줄이는 방법은 크게 두 갈래입니다.
하나는 가로세로 크기(해상도)를 줄이는 것이고,
다른 하나는 크기는 그대로 두고 화질(quality)을 낮추는 것입니다. 둘 다 파일을 가볍게 만들지만,
결과물의 성격은 꽤 다릅니다.
어느 쪽이 더 많이 줄어드는지, 그리고 언제 무엇을 골라야 하는지 궁금해서 같은 사진 한 장으로 두 방법을 각각 적용해 용량을 재 봤습니다.

3000x2000 사진 한 장으로 실험했습니다
가로 3000, 세로 2000, 약 600만 화소짜리 사진(스마트폰 사진과 비슷한 크기)을 원본으로 두고, 두 방식을 따로따로 적용했습니다. 측정 환경은 윈도우 11, 파이썬 3.14.3, 이미지 라이브러리 Pillow입니다.
먼저 화질만 단계별로 낮춘 결과입니다. 크기(3000x2000)는 그대로 두고 quality 값만 내렸습니다.
| 화질(quality) | 크기 | 용량 | 원본 대비 |
|---|---|---|---|
| 95 (원본) | 3000x2000 | 2275 KB | 100% |
| 80 | 3000x2000 | 757 KB | 33% |
| 60 | 3000x2000 | 386 KB | 17% |
| 40 | 3000x2000 | 222 KB | 10% |
다음은 해상도만 줄인 결과입니다. 화질은 최고(95)로 고정하고 가로세로만 축소했습니다.
| 해상도 | 화질 | 용량 | 원본 대비 |
|---|---|---|---|
| 3000x2000 (원본) | 95 | 2275 KB | 100% |
| 2250x1500 (75%) | 95 | 1075 KB | 47% |
| 1500x1000 (50%) | 95 | 423 KB | 19% |
| 750x500 (25%) | 95 | 113 KB | 5% |
줄어드는 양은 비슷한데, 줄어드는 방식이 다릅니다
흥미로운 지점은 두 방법의 용량 감소폭 자체는 비슷하다는 것입니다.
화질을 60으로 낮추면 17%, 해상도를 절반으로 줄이면 19%로 결과 용량이 엇비슷합니다. 그런데 남는 결과물은 완전히 다릅니다.
화질만 낮춘 파일은 여전히 3000x2000 크기라 큰 화면에 꽉 채워도 됩니다.
대신 확대하면 경계가 뭉개진 자국이 보일 수 있습니다. 반대로 해상도를 줄인 파일은
화질 자체는 깨끗하지만 1500x1000이라, 큰 화면에서 원본만큼 크게 띄우면 흐릿해집니다.
화질 낮추기는 디테일을 덜어 내고 크기를 지키는 방식, 해상도 줄이기는 픽셀 수를 줄이되 남은 픽셀의 선명함은 지키는 방식입니다.
그래서 언제 무엇을 고를까
| 이럴 때 | 이 방법 |
|---|---|
| 웹 썸네일, 이메일 첨부처럼 작게 보여줄 사진 | 해상도 줄이기 |
| 인쇄나 큰 화면 표시가 필요해 크기는 지켜야 할 때 | 화질 낮추기 |
| 용량을 최대한 줄이는 게 최우선일 때 | 둘 다 적용 |
두 방법을 함께 쓰면(해상도 절반 + 화질 60) 용량은 원본의 3%인 75 KB까지 내려갔습니다.
표시 크기를 줄여도 되는 사진이라면 이 조합이 가장 효율적입니다.
직접 해 보고 싶다면
아래 코드는 한 장의 이미지를 화질만 낮춘 버전과 해상도만 줄인 버전으로 각각 저장합니다.
from PIL import Image
im = Image.open("photo.jpg")
# 방법 A: 크기 그대로, 화질만 60으로
im.save("quality_low.jpg", quality=60)
# 방법 B: 화질 그대로, 가로세로 절반으로
w, h = im.size
im.resize((w // 2, h // 2), Image.LANCZOS).save("small.jpg", quality=95)
여기서 Image.LANCZOS는 크기를 줄일 때 계단 현상을 줄여 주는 방식입니다.
실제 감소 비율은 사진 내용에 따라 달라집니다.
디테일이 많고 복잡한 사진일수록 위 실험처럼 크게 줄고,
단순한 이미지는 덜 줄어듭니다. 다만 두 방법 모두 용량을 크게 줄인다는 방향은 대체로 같습니다.
자주 묻는 질문
Q. 화질을 얼마까지 낮춰도 눈에 안 띄나요?
보통 quality 80 근처까지는 화면에서 차이를 느끼기 어렵고, 60 아래로 내려가면 경계나 하늘 같은 매끈한 부분에서 얼룩이 보이기 시작합니다. 사진마다 다르니 몇 단계 저장해 비교해 보는 편이 확실합니다.
Q. 이미 줄인 사진을 다시 키우면 원래대로 되나요?
아닙니다. 해상도를 줄이면 사라진 픽셀은 복구되지 않습니다. 원본은 따로 보관하고 사본만 줄이시길 권합니다.
결국 판단 기준은 그 사진을 얼마나 크게 보여줄 것인가입니다. 작게 쓸 사진은 해상도부터 줄이고, 크게 써야 하면 화질로 조절하면 됩니다. 지금 줄이려는 사진의 최종 용도부터 떠올려 보세요.
'파일 형식 백과사전' 카테고리의 다른 글
| 수백만 행 CSV를 pandas로 읽는 게 느릴 때, 읽기 속도를 끌어올리는 방법 (0) | 2026.07.19 |
|---|---|
| ZIP 압축을 풀었더니 파일명이 ║╕░φ╝¡ 처럼 깨질 때, 원인과 해결 (1) | 2026.07.16 |
| 같은 사진을 WebP, AVIF, JPG로 저장하면 용량이 얼마나 차이 날까 (직접 측정 후기) (0) | 2026.07.15 |
| 같은 폴더를 ZIP, 7Z, TAR.GZ로 압축하면 용량이 얼마나 다를까, 3종 직접 측정 (0) | 2026.07.14 |
| XML로 받은 데이터를 JSON으로 바꾸고 싶을 때, 표준 라이브러리만으로 해결하기 (0) | 2026.07.13 |