본문 바로가기

어떤 이미지 형식을 써야 할까?

선택을 결정하는 질문은 하나뿐이며, 나머지는 거의 전부 그 답에서 따라 나옵니다. 사람들이 하는 잘못된 선택은 대부분 엉뚱한 질문에 답했기 때문에 생깁니다.

최종 검토:

선택을 결정하는 질문

그림이 연속된 색조로 이루어져 있나요, 아니면 평평한 색 영역과 날카로운 경계로 이루어져 있나요?

사진은 연속된 색조입니다. 미묘하게 다른 수백만 가지 색이 있고, 인접한 픽셀끼리도 완전히 같은 경우가 없으며, 사물의 가장자리를 빼면 뚜렷한 경계가 없습니다. 스크린샷, 로고, 차트, 도표, 선 그림은 정반대입니다. 똑같은 색의 넓은 영역이 완벽하게 날카로운 경계에서 만납니다.

모든 이미지 형식은 둘 중 하나를 위해 만들어졌고, 다른 쪽에는 약합니다. 손실 형식(JPEG, 그리고 손실 모드의 WebP나 AVIF)은 눈이 잘 알아채지 못하는 디테일을 버립니다. 연속 색조에서는 훌륭하게 작동하지만 날카로운 경계마다 눈에 띄는 번짐이 생깁니다. 무손실 형식(PNG, 그리고 무손실 모드의 WebP나 AVIF)은 반복을 찾아 압축합니다. 평평한 색에서는 훌륭하게 작동하지만 사진의 노이즈에는 거의 효과가 없습니다. 잘못 고르면 파일이 보기 흉해지거나 엄청나게 커지며, 사람들은 대개 둘 중 하나만 알아챕니다.

짧은 답

사람에게, 메일로, 또는 오래된 시스템으로 보낼 사진: 품질 85 안팎의 JPG. 어디서나 열리고, 작으며, 이 설정에서는 손실이 눈에 보이지 않습니다.

스크린샷, 로고, 차트, 도표: PNG. 모든 경계가 정확히 날카롭게 유지되고, 평평한 영역은 거의 0에 가깝게 압축됩니다. 투명도가 있다면 두 고전 형식 중 투명도를 담을 수 있는 것도 PNG뿐입니다.

내가 관리하는 웹 페이지에 올릴 것: WebP, 또는 인코딩 시간을 감당할 수 있다면 AVIF. 둘 다 JPG와 PNG의 역할을 더 잘 해냅니다. WebP는 손실·무손실 모드가 모두 있고 두 모드 모두 투명도를 담을 수 있으며, AVIF는 사진을 같은 수준의 JPEG보다 약 절반 크기로 저장합니다.

로고나 아이콘: 가지고 있다면 SVG. 어떤 크기에서도 선명하고, 대개 어떤 픽셀 버전보다 작습니다. 파비콘, 소셜 미리보기 이미지, 메일, 앱 스토어처럼 벡터를 읽지 못하는 곳에서만 픽셀 이미지로 변환하세요.

각 형식이 못 하는 것

기능 목록보다 한계가 더 유용합니다. 사람들이 실제로 걸려 넘어지는 것이 한계이기 때문입니다.

JPG에는 투명도가 없습니다. 전혀 없고, 앞으로도 없을 것입니다. 배경이 투명한 PNG를 JPG로 바꾸면 그 배경이 단색으로 채워집니다. JPG로 저장한 로고가 흰 상자 안에 담겨 오는 이유가 이것입니다. 또 저장할 때마다 매번 손실이 생기므로, 같은 JPG를 편집하고 다시 저장하기를 반복하면 그때마다 조금씩 더 나빠집니다.

PNG는 사진에 끔찍하게 약합니다. 틀린 것은 아닙니다. 무손실이고 원본에 충실합니다. 하지만 사진의 노이즈가 압축에 쓰이는 예측을 무력화하기 때문에 용량이 엄청납니다. 사진을 담은 PNG는, 아무도 구별할 수 없는 JPEG보다 열 배 큰 경우가 흔합니다.

WebP는 가로세로 어느 쪽이든 16,383픽셀이라는 확실한 상한이 있습니다. 사진에는 넉넉하지만 파노라마, 긴 웹 페이지 전체를 담은 스크린샷, 스캔한 지도에는 제약이 됩니다.

AVIF는 인코딩이 느립니다. 큰 사진 한 장에 몇 초가 걸립니다. 동영상 압축의 정지 프레임 방식이라, 탐색 과정이 곧 작은 용량을 얻는 대가이기 때문입니다. 디코딩은 즉시 끝나므로, 한 번 인코딩해 여러 번 보는 파일에는 올바른 거래입니다.

실제 호환성의 경계

이 부분에서는 조언이 양쪽 방향으로 몇 년씩 뒤처져 있기 일쑤입니다. 현재의 모든 브라우저는 WebP와 AVIF를 읽을 수 있고, 그렇게 된 지 여러 해가 지났습니다. 그러니 웹사이트에 관해서라면 이들을 반대하는 호환성 논리는 끝났습니다. picture 요소로 JPEG 대체 이미지와 함께 AVIF를 제공하면 그 걱정마저 사라집니다.

브라우저 밖은 사정이 다르며, 사람들이 반대 방향으로 틀리는 부분이 여기입니다. 오래된 메일 프로그램, 여러 데스크톱 이미지 뷰어, 상당수의 기업용 소프트웨어, 대부분의 인쇄 작업 흐름은 아직 WebP나 AVIF를 안정적으로 읽지 못합니다. 그러니 기준은 연도가 아니라 목적지입니다. 내가 관리하는 웹 페이지에는 새 형식을, 사람이나 시스템에 건넬 파일에는 JPG나 PNG를 쓰세요.

변환한다고 손상이 복구되지는 않습니다

이미지 형식에 관한 가장 흔한 오해는 분명히 짚고 넘어갈 가치가 있습니다. 손실 파일을 무손실 형식으로 변환해도 아무것도 되살아나지 않습니다. JPG를 PNG로 바꾸면 JPEG의 결함(블록 현상, 글자 주변의 링잉, 채도 높은 경계의 색 번짐)이 완벽하게 보존됩니다. 그 시점에는 그것들이 픽셀 값이 되어 그림 내용과 구별할 수 없기 때문입니다. PNG는 더 크면서도 눈에 보이는 손상은 정확히 똑같습니다.

그래도 적절한 시점에는 할 만한 가치가 있습니다. 편집을 시작하기 전에 PNG로 바꿔 두면 이후 저장은 몇 번을 해도 손실이 없지만, JPG를 편집하고 다시 저장하면 매번 품질이 떨어집니다. 네 번 저장한 뒤가 아니라 작업을 시작할 때 변환하세요.

반대 방향도 같은 논리입니다. JPEG를 AVIF나 WebP로 인코딩하면 새 인코더가 이전 인코더의 결함을 물려받아 그것을 보존하는 데 실제 비트를 씁니다. 그래서 원본에서 한 번 인코딩한 파일이 두 번 인코딩한 파일보다 더 작으면서 더 좋습니다. 항상 가지고 있는 가장 좋은 버전에서 시작하세요.

자주 묻는 질문

JPG 품질은 몇으로 설정해야 하나요?

85 정도가 대부분의 사람이 차이를 알아보지 못하게 되는 지점이며, 용량 곡선이 완만해지는 지점이기도 합니다. 그보다 높이면 아주 작은 이득에 많은 바이트가 듭니다. 약 70 아래로 내려가면 하늘 같은 부드러운 그러데이션부터 결함이 보이기 시작합니다.

WebP는 손실 형식인가요, 무손실 형식인가요?

둘 다입니다. 확장자를 공유하는 두 가지 형식이며, 품질 설정이 어느 쪽인지를 정합니다. 최대 미만이면 손실 WebP가 되는데, 사진에는 훌륭하지만 텍스트 스크린샷에는 맞지 않습니다. 서브샘플링된 색이 모든 날카로운 경계에 번짐을 만들기 때문입니다. 최대로 설정하면 무손실이 됩니다.

원래 JPG보다 PNG가 왜 더 큰가요?

PNG는 각 픽셀을 주변 픽셀로 예측해 압축하는데, JPEG 결함은 그 예측에 노이즈처럼 보이기 때문입니다. 나뭇잎이나 털을 찍은 JPG는 엄청나게 큰 PNG가 되고, 스크린샷 JPG는 적당한 크기의 PNG가 됩니다.

아직 GIF를 쓸 일이 있나요?

애니메이션뿐이며, 그마저도 짧은 동영상이나 애니메이션 WebP가 훨씬 작고 부드럽습니다. 정지 이미지에서 GIF는 256색과 1비트 투명도로 제한되어 경계가 들쭉날쭉하고 색은 근사치가 됩니다. 모든 면에서 PNG가 낫습니다.

형식을 바꿀 때마다 화질이 떨어지나요?

손실 인코더를 거칠 때마다 떨어지며, 절대 돌아오지 않습니다. PNG에서 무손실 WebP로, BMP에서 PNG로 같은 무손실 변환은 그렇지 않습니다. 대부분의 문제를 피하는 규칙은 이렇습니다. 고화질 원본 하나를 보관하고, 배포용 사본은 사본끼리가 아니라 그 원본에서 만드세요.