인쇄용 300DPI 사진이 118로 잘못 표시되는 이유
인쇄소에 넘길 사진의 DPI를 확인했는데 분명 300으로 찍은 사진인데 118 같은 애매한 숫자가 뜨는 경우가 있습니다. 사진을 다시 찍거나 보정 프로그램을 의심하기 전에, 사실은 이 숫자 자체가 EXIF 메타데이터 해석 오류일 가능성이 높습니다. 118이라는 숫자는 우연이 아니라 300을 2.54로 나눈 값(약 118.1)에 매우 가깝고, 이는 단위 변환 버그의 전형적인 지문입니다.
1. DPI라는 단위가 태생적으로 안고 있는 문제
DPI(Dots Per Inch)는 이름 그대로 "1인치당 점의 개수"입니다. 그런데 이미지 파일의 해상도 정보는 국제단위계를 쓰는 나라의 소프트웨어 관점에서는 인치보다 센티미터가 더 자연스러운 단위입니다. 그래서 EXIF 표준은 해상도 값(XResolution, YResolution) 자체와는 별도로, 그 값의 단위가 무엇인지 알려주는 ResolutionUnit(태그 번호 0x0128)이라는 필드를 따로 둡니다. 이 필드의 값은 1(단위 없음), 2(인치), 3(센티미터) 세 가지 중 하나입니다.
2. 118이라는 숫자가 나오는 정확한 산수
일부 카메라·이미지 편집 소프트웨어는 해상도를 실제로 센티미터 단위로 저장하면서 ResolutionUnit을 3으로 정확히 표기합니다. 문제는 이 값을 읽는 쪽(뷰어·DPI 확인 도구)이 ResolutionUnit 필드를 무시하고 XResolution 숫자를 곧바로 "인치당 점 수"로 표시할 때 발생합니다. 1인치는 2.54센티미터이므로, 센티미터당 300점으로 저장된 해상도를 인치당으로 잘못 읽으면 실제로는 인치당 300×2.54 ≈ 762점이어야 정상인데, 반대로 나눗셈 방향을 착각하면 300÷2.54 ≈ 118.1이 나옵니다. 즉 118은 "센티미터 단위 값을 인치 단위인 것처럼 그대로 읽은" 전형적인 오판 결과입니다.
| ResolutionUnit 값 | 의미 | 올바른 처리 |
|---|---|---|
| 1 | 단위 없음(픽셀 종횡비 정보만) | DPI로 해석하지 않음 |
| 2 | 인치 | XResolution 값을 그대로 DPI로 사용 |
| 3 | 센티미터 | XResolution 값에 2.54를 곱해 DPI로 환산 |
3. 이 도구는 실제로 어떻게 처리하는가
image-dpi-checker.html의 실제 코드를 확인한 결과, JPEG 파일의 APP1 마커 안 TIFF 헤더를 직접 파싱해 XResolution·YResolution(태그 0x011A/0x011B)뿐 아니라 ResolutionUnit(태그 0x0128)도 함께 읽고 있으며, 값이 3(센티미터)일 때만 2.54를 곱해 DPI로 환산하는 로직이 실제로 존재합니다. 코드에서는 const unitToDpi=resUnit===3?2.54:1;로 조건을 판단한 뒤 xRes*unitToDpi로 최종 DPI를 계산합니다. 즉 이 항목에서 설명한 "118 버그"는 이 도구 자체에는 해당하지 않으며, 정확히 이런 오판을 막기 위해 단위 필드를 명시적으로 체크하도록 만들어져 있습니다. 이미지 DPI 확인기로 직접 파일을 올려 ResolutionUnit이 어느 쪽으로 기록돼 있는지 확인해볼 수 있습니다.
4. PNG·WebP는 애초에 다른 문제
PNG·WebP·AVIF처럼 EXIF 구조 자체가 없는 포맷은 위에서 설명한 단위 변환 버그와는 무관합니다. 이런 포맷은 해상도 메타데이터가 아예 없는 경우가 대부분이라 화면 표준값인 72 또는 96 DPI로 표시되는 것이 정상 동작이며, 이는 오류가 아니라 "정보 없음"에 대한 기본값 처리입니다. 인쇄용 파일이라면 애초에 픽셀 크기와 목표 인쇄 크기를 직접 나눠서 DPI를 역산하는 편이 더 정확한데, 이 계산은 이미지 크기 확인기에서 픽셀 치수를 먼저 확인한 뒤 인쇄 크기(인치)로 나누면 됩니다.
5. 실무에서 확인해야 할 순서
- DPI 숫자가 애매하게 낮다면: 118, 96, 72 같은 특정 값 근처인지 확인하세요. 300÷2.54≈118.1, 200÷2.54≈78.7처럼 익숙한 인쇄 기준값을 2.54로 나눈 결과와 비슷하다면 단위 변환 오류를 의심할 근거가 됩니다.
- 원본 파일의 EXIF를 직접 확인: EXIF 뷰어로 ResolutionUnit 태그 원본값을 확인하면 도구 해석이 아니라 파일 자체에 어떻게 기록돼 있는지 알 수 있습니다.
- 인쇄소·디자인 프로그램에 넘기기 전: 여러 DPI 확인 도구로 교차 검증해 값이 크게 벌어지면(예: 118 vs 300) 단위 해석 문제일 가능성이 큽니다.
자주 묻는 질문
Q. 이 사이트의 이미지 DPI 확인기도 118 버그가 있나요?
아니요. 실제 코드를 확인한 결과 ResolutionUnit 태그를 읽어 값이 3(센티미터)일 때 2.54를 곱해 정확히 DPI로 환산하는 로직이 이미 구현돼 있습니다. 이 가이드에서 설명한 버그는 이 필드를 무시하는 일부 다른 뷰어·소프트웨어에서 발생할 수 있는 일반적인 함정입니다.
Q. 왜 하필 카메라·소프트웨어가 센티미터 단위로 저장하나요?
국제단위계(SI)를 기본으로 쓰는 지역에서 만들어진 일부 장비·소프트웨어가 인치 대신 센티미터를 기본값으로 설정해두는 경우가 있습니다. EXIF 표준 자체는 이를 허용하며 ResolutionUnit 필드로 명시하도록 설계돼 있으므로, 표준을 준수하는 값이더라도 이를 무시하고 읽으면 문제가 생기는 구조입니다.
Q. PNG 파일도 이 버그의 영향을 받나요?
아니요. PNG는 EXIF 구조를 쓰지 않으므로 이 가이드에서 설명한 ResolutionUnit 변환 문제와는 무관합니다. PNG의 DPI가 낮게 표시되는 것은 대부분 해상도 정보 자체가 없어 화면 기본값(72/96)으로 대체되는 것이지, 단위 변환 오류가 아닙니다.
Q. 118 DPI로 표시된 사진을 그냥 인쇄하면 실제로 저품질로 나오나요?
표시값이 단위 변환 오류로 인한 것이라면 실제 픽셀 데이터 자체는 손상되지 않았으므로, 올바른 도구로 다시 확인하면 실제 인쇄 품질에는 문제가 없을 수 있습니다. 다만 표시된 118이 실제로 정확한 값(단위 오류가 아닌 진짜 낮은 해상도)이라면 인쇄 시 흐릿하게 나올 수 있으므로, 반드시 ResolutionUnit 값과 픽셀 치수를 함께 교차 확인하는 것이 안전합니다.