Techganum

AI와 기술을 쉽게, 생활에 바로 쓰는 방법

PNG로 바꿨는데 JPG로 인식될 때 실제 파일 형식 확인하는 방법

Techganum

JPG 파일 이름 변경과 실제 PNG 파일 저장을 구분하는 안내 카드

파일 이름은 .png인데 업로드 사이트나 다른 프로그램에서는 JPEG라고 표시되는 경우가 있습니다. 이런 문제는 파일 이름과 실제 저장 형식이 서로 다를 때 생길 수 있습니다. JPG 사진의 이름 끝만 .png로 바꿔도 내부 데이터까지 PNG로 변환되는 것은 아닙니다.

이럴 때는 다시 이름을 바꾸기보다 먼저 파일 이름만 바뀐 것인지, 실제 PNG 파일로 다시 저장된 것인지를 구분하는 것이 중요합니다. Windows에서는 가장 쉬운 재저장 방법과 파일 첫 바이트를 확인하는 방법을 함께 사용할 수 있습니다.

확장자를 PNG로 바꿔도 실제 파일은 JPG일 수 있습니다

Windows에서 photo.jpg의 이름을 photo.png로 바꾸면 탐색기에서는 PNG처럼 보일 수 있습니다. 하지만 이 작업은 파일 이름을 바꾼 것일 뿐 사진 데이터를 PNG 방식으로 다시 저장한 것은 아닙니다.

Microsoft의 파일 이름 확장자 안내에서도 파일 이름 확장자는 파일 형식을 식별하는 데 사용되지만, 이름을 바꾸는 것만으로 파일 형식 자체가 변환되는 것은 아니라고 설명합니다.

따라서 파일명이 .png라고 되어 있다는 사실만으로 실제 PNG라고 판단하면 안 됩니다. 반대로 이름이 이상하게 표시되더라도 실제 데이터가 PNG로 저장돼 있을 수도 있으므로, 이름과 파일 내용을 따로 보는 편이 정확합니다.

가장 쉬운 해결은 PNG로 새 파일을 만드는 것입니다

업로드할 곳에서 실제 PNG 파일을 요구하고 있고 사진이 정상적으로 열린다면, 일반 사용자에게는 파일 형식을 분석하는 것보다 PNG 형식으로 새 파일을 저장하는 방법이 가장 간단합니다.

Windows에서는 그림판처럼 PNG 저장을 지원하는 프로그램에서 사진을 연 뒤 다른 이름으로 저장하거나 PNG 그림 형식을 선택해 새로운 파일을 만들 수 있습니다. 중요한 것은 기존 파일 이름의 .jpg를 .png로 고치는 것이 아니라, 저장 과정에서 실제 출력 형식을 PNG로 지정하는 것입니다.

원본은 그대로 남겨 두고 새 파일 이름을 다르게 지정하는 편이 좋습니다. 예를 들어 원본이 photo.jpg라면 PNG 출력본을 photo-converted.png처럼 따로 저장하면 두 파일을 혼동하기 어렵습니다.

이름만 바꾼 파일과 실제 PNG는 무엇이 다를까

두 파일이 화면에서 똑같은 사진처럼 보여도 내부 시작 부분은 다를 수 있습니다. JPEG 파일은 일반적으로 파일 시작 부분에서 JPEG 계열의 서명을 확인할 수 있고, PNG 파일은 정해진 PNG 서명으로 시작합니다.

  • JPEG 계열: 시작 부분에서 FF D8를 확인할 수 있습니다.
  • PNG: 89 50 4E 47 0D 0A 1A 0A라는 PNG 서명을 사용합니다.

예를 들어 JPG 파일의 이름만 sample.png로 바꿨다면 탐색기에는 PNG처럼 보여도 첫 바이트는 여전히 JPEG 쪽 값으로 남습니다. 반면 이미지 편집 프로그램에서 PNG 형식으로 새로 저장한 파일은 PNG 서명을 갖게 됩니다. 이 차이를 보면 파일 이름 변경과 실제 형식 변환을 구분할 수 있습니다.

Windows에서 실제 파일 형식을 확인하는 방법

파일 이름만 보고 판단하기 어려운 경우 Windows PowerShell에서 파일 앞부분을 직접 확인할 수 있습니다. 이 방법은 대상 파일을 읽는 진단이므로 원본 내용을 다시 저장하지 않습니다.

PowerShell을 열고 아래 명령에서 경로 부분을 자신의 파일 위치로 바꿉니다.

Format-Hex -Path "C:\사진폴더\대상.png" | Select-Object -First 1

출력의 시작 부분을 확인합니다.

  • FF D8로 시작한다면 파일 이름과 관계없이 JPEG 계열인지 확인해 볼 수 있습니다.
  • 89 50 4E 47 0D 0A 1A 0A로 시작한다면 PNG 서명입니다.
  • 둘 다 아니라면 다른 파일 형식일 수 있으므로 이 두 값만으로 종류를 결정하지 않습니다.

Microsoft Learn의 Format-Hex 설명에서도 파일 내용을 16진수 형태로 표시하는 방법을 확인할 수 있습니다.

상황별로 무엇을 하면 되는지 구분해 보세요

탐색기에는 PNG인데 사이트에서 JPG라고 표시된다면 먼저 이름만 바꾼 파일인지 의심해 볼 수 있습니다. PowerShell로 시작 값을 확인하거나, 사진을 열어 PNG 형식으로 새 파일을 저장한 뒤 다시 업로드해 보세요.

파일이 정상적으로 열리고 실제 PNG만 필요한 경우에는 굳이 16진수 값을 확인하지 않아도 됩니다. 원본을 보관한 상태에서 PNG 형식으로 새로 저장하는 것이 더 빠릅니다.

PNG 서명이 확인됐는데도 업로드가 거부된다면 이제 파일 형식만 계속 바꿀 필요는 없습니다. 해당 서비스가 요구하는 파일 용량, 가로·세로 크기, 해상도, 허용 파일 수처럼 다른 조건을 확인해야 합니다.

이름을 바꾼 뒤 파일 자체가 열리지 않는다면 단순히 확장자 표시 문제라고 단정하지 마세요. 처음 받은 원본 파일을 다시 확보하거나 파일이 손상되지 않았는지 먼저 확인하는 편이 낫습니다.

PNG로 저장하면 JPG 화질이 다시 좋아지는 것은 아닙니다

JPEG 사진을 PNG로 새로 저장하면 파일 형식은 PNG가 될 수 있지만, 이전 JPEG 저장 과정에서 이미 사라진 사진 정보를 되살리는 것은 아닙니다. 제출 형식을 PNG로 맞추는 것과 사진 화질을 복원하는 것은 다른 문제입니다.

또한 PNG로 바꾸면 항상 파일 용량이 줄어드는 것도 아닙니다. 자연 사진처럼 JPEG가 효율적인 이미지에서는 PNG 출력본이 더 커질 수도 있습니다. 따라서 PNG가 필요한 이유가 업로드 규격 때문인지, 파일 용량을 줄이기 위한 것인지 먼저 구분해야 합니다.

PNG로 바꿨는데도 업로드가 안 된다면

새로 저장한 파일이 실제 PNG인데도 제출되지 않는다면 오류 메시지를 다시 확인하세요. 서비스에 따라 파일 형식 외에도 최대 용량, 이미지 크기, 가로세로 비율 등의 조건이 따로 있을 수 있습니다.

특히 문제의 원인이 파일 용량이라면 PNG와 JPG를 반복해서 바꾸는 것보다 전송용 사본의 크기와 해상도를 조정하는 쪽이 목적에 맞을 수 있습니다. ZIP으로 묶었는데 사진 용량이 거의 줄지 않는 경우라면 사진 ZIP 압축과 전송용 사본의 크기 차이도 함께 확인해 보세요.

정리하면 .png라는 이름만으로 실제 PNG라고 판단하지 말고, 사진이 정상적으로 열린다면 PNG 형식으로 새 파일을 저장하는 것이 가장 간단합니다. 파일 형식을 정확히 확인해야 할 때는 첫 바이트를 확인하고, 실제 PNG인데도 업로드되지 않는다면 그때부터는 파일 용량이나 이미지 규격처럼 다른 조건을 살펴보면 됩니다.