이미지

이미지를 압축했더니 글자가 뭉개질 때, 형식부터 확인해야 하는 이유

압축 품질을 아무리 올려도 글자 주변이 지저분하다면 품질값이 아니라 파일 형식이 원인입니다. 이미지 종류별로 어떤 형식을 골라야 하는지 정리했습니다.

최종 수정일 읽는 데 약 5

핵심 요약

  • 글자가 뭉개지는 원인은 압축 품질값이 아니라 JPEG라는 형식 자체입니다.
  • 스크린샷, 문서 캡처, 로고처럼 경계가 뚜렷한 이미지는 PNG나 WebP 무손실로 저장해야 합니다.
  • 사진 위에 글자를 얹은 이미지는 WebP 손실 품질 85 이상이 현실적인 절충점입니다.
  • 이미 JPEG로 저장된 파일을 다시 압축하면 손상이 누적되므로 원본에서 다시 시작해야 합니다.

스크린샷을 올려야 하는데 용량 제한에 걸려서 압축했더니, 이번에는 글자 주변에 얼룩 같은 것이 생깁니다. 품질을 80에서 90으로, 다시 95로 올려 봐도 완전히 없어지지 않고 용량만 늘어납니다.

이때 대부분 압축 강도를 계속 조절하며 시간을 씁니다. 그런데 문제는 강도가 아닙니다. 결론부터 말하면 그 이미지를 JPEG로 저장하고 있는 것이 원인이고, 형식을 바꾸면 품질값을 건드리지 않아도 해결됩니다.

왜 글자만 유독 지저분해지는가

JPEG는 사진을 작게 만들기 위해 설계된 형식입니다. 사람 눈이 잘 알아채지 못하는 정보를 골라 버리는 방식으로 용량을 줄이는데, 그 기준이 사진에 맞춰져 있습니다.

문제가 되는 부분은 두 가지입니다.

첫째, JPEG는 이미지를 작은 블록으로 나눠 각 블록의 색 변화를 수식으로 근사합니다. 사진처럼 색이 부드럽게 이어지는 영역은 이 근사가 잘 맞습니다. 하지만 검은 글자와 흰 배경이 한 픽셀 만에 바뀌는 경계에서는 근사 오차가 커지고, 그 오차가 경계 주변의 물결무늬나 점처럼 나타납니다.

둘째, 대부분의 JPEG 인코더는 색 정보를 밝기 정보보다 낮은 해상도로 저장합니다. 사진에서는 거의 티가 나지 않지만, 색이 있는 글자나 얇은 선에서는 색이 번지거나 경계가 흐려집니다.

즉 글자가 뭉개지는 것은 압축을 세게 걸어서가 아니라, 경계가 뚜렷한 이미지를 경계가 부드러운 이미지용 형식에 넣었기 때문입니다.

내 이미지는 어떤 형식으로 저장해야 하는가

원본이 무엇인지에 따라 답이 갈립니다. 아래 표에서 자신의 이미지에 해당하는 줄을 찾으면 됩니다.

이미지 종류권장 형식이유
풍경·인물 사진, 글자 없음JPEG 또는 WebP 손실색이 부드럽게 이어져 손실 압축 흔적이 잘 보이지 않습니다
스크린샷, 문서·표 캡처PNG 또는 WebP 무손실글자 경계가 그대로 보존됩니다
로고, 아이콘, 단색 도형PNG쓰인 색이 적어 무손실이어도 파일이 작습니다
사진 위에 글자를 얹은 이미지WebP 손실, 품질 85 이상사진 부분의 용량을 줄이면서 글자 손상을 줄이는 절충점입니다
배경이 투명해야 하는 이미지PNG 또는 WebPJPEG는 투명도를 저장하지 못해 배경이 흰색으로 채워집니다
그래프, 차트, 다이어그램PNG선과 글자가 많아 JPEG에서 가장 지저분해지는 유형입니다

판단이 애매하다면 기준은 하나입니다. 이미지를 300% 정도로 확대했을 때 색이 뚝뚝 끊기는 경계가 많으면 무손실(PNG·WebP 무손실), 색이 서서히 변하면 손실(JPEG·WebP 손실)입니다.

순서를 바꾸면 결과가 달라집니다

형식을 정했다면 다음 순서로 진행합니다. 순서가 중요합니다.

  1. 원본을 확보합니다. 이미 압축한 파일이 아니라 처음 저장한 파일에서 시작해야 합니다.
  2. 크기를 먼저 줄입니다. 업로드할 곳에서 요구하는 가로 크기가 정해져 있다면, 압축보다 크기 축소가 용량을 훨씬 많이 줄입니다. 가로를 절반으로 줄이면 픽셀 수는 4분의 1이 됩니다.
  3. 위 표에서 정한 형식으로 변환합니다. 형식이 이미 맞다면 이 단계는 건너뜁니다. 이미지 변환 도구에서 PNG, JPG, WebP 사이를 바꿀 수 있습니다.
  4. 압축합니다. 이미지 압축 도구에서 용량과 결과를 비교하며 조절합니다.
  5. 100% 크기로 확대해 글자를 확인합니다. 축소된 미리보기에서는 손상이 보이지 않습니다.

5번을 건너뛰면 올린 다음에야 문제를 발견하게 됩니다.

결과가 여전히 마음에 들지 않을 때

형식을 바꿨는데도 만족스럽지 않다면 아래 상황 중 하나일 가능성이 높습니다.

증상원인다음 조치
PNG로 바꿨는데 용량이 오히려 커짐사진을 무손실로 저장함WebP 손실 품질 85로 변경
형식을 바꿨는데도 글자가 지저분함원본이 이미 JPEG였음원본 파일을 다시 찾아 시작
용량이 목표치까지 안 줄어듦크기를 줄이지 않음가로 크기를 먼저 축소
배경이 흰색으로 바뀜JPEG로 저장해 투명도가 사라짐PNG 또는 WebP로 저장
색이 원본과 다르게 보임색 프로파일이 유지되지 않음저장 후 다른 기기에서도 확인

자주 하는 실수

이미 압축된 파일을 다시 압축합니다. 손실 압축은 저장할 때마다 정보를 버립니다. JPEG를 열어 다시 JPEG로 저장하면 이전에 생긴 손상 위에 새 손상이 얹힙니다. 몇 번 반복하면 되돌릴 수 없는 상태가 됩니다.

스크린샷을 습관적으로 JPG로 저장합니다. 스크린샷은 글자와 UI 경계로 가득한 이미지라 JPEG가 가장 불리한 유형입니다. 게다가 색 수가 적어 PNG로 저장해도 용량이 크게 늘지 않는 경우가 많습니다.

품질 슬라이더만 조정하고 형식은 그대로 둡니다. 형식이 맞지 않으면 품질 100에서도 흔적이 남습니다. 슬라이더를 세 번 이상 조정했는데 해결되지 않는다면 형식을 의심할 시점입니다.

축소된 미리보기로 판단합니다. 화면에 맞춰 줄여 보여주는 미리보기에서는 픽셀 단위 손상이 보이지 않습니다. 반드시 100% 이상으로 확대해 확인하세요.

크기 축소와 압축의 순서를 바꿉니다. 압축한 뒤 크기를 줄이면 이미 생긴 손상까지 함께 축소되어 남습니다. 크기를 먼저 줄이고 압축하는 편이 결과가 깨끗합니다.

정리

글자가 뭉개지는 문제는 압축을 약하게 걸어서 해결되는 문제가 아닙니다. 경계가 뚜렷한 이미지를 사진용 형식에 넣었기 때문에 생깁니다.

스크린샷·문서·로고·차트는 PNG나 WebP 무손실로, 사진은 JPEG나 WebP 손실로, 사진과 글자가 섞였다면 WebP 손실 품질 85 이상으로 저장하세요. 그리고 크기 축소를 압축보다 먼저 하고, 결과는 100% 확대해서 확인하면 됩니다.

자주 묻는 질문

품질을 100으로 올리면 글자가 안 뭉개지나요?

덜 뭉개지지만 완전히 사라지지는 않습니다. JPEG는 품질 100에서도 색 정보를 줄이는 크로마 서브샘플링을 적용하는 경우가 많아 색 경계가 뚜렷한 글자에는 흔적이 남습니다. 용량도 PNG와 비슷해지거나 더 커질 수 있어 이 경우에는 PNG가 낫습니다.

PNG로 저장했더니 용량이 너무 큽니다.

사진을 PNG로 저장하면 흔히 생기는 일입니다. PNG는 색이 반복되는 영역을 잘 줄이지만 사진처럼 픽셀마다 색이 미묘하게 다른 이미지에서는 줄일 것이 없습니다. 사진이라면 WebP 손실을, 사진 위에 글자가 얹힌 이미지라면 WebP 손실 품질 85 이상을 사용해 보세요.

WebP를 못 여는 곳이 있지 않나요?

주요 브라우저와 최신 운영체제의 기본 뷰어는 대부분 지원합니다. 다만 오래된 편집 프로그램이나 일부 업로드 폼은 거부할 수 있습니다. 제출처가 형식을 지정했다면 그 형식을 따르고, 그때는 PNG를 선택하는 편이 안전합니다.

한 번 뭉개진 이미지를 되살릴 수 있나요?

되돌릴 수 없습니다. 손실 압축에서 버려진 정보는 파일에 남아 있지 않습니다. 원본이 있다면 원본에서 다시 저장하고, 원본이 없다면 해당 이미지를 다시 만드는 것 외에는 방법이 없습니다.