이미지 파일 형식 변환 방법
이미지 데이터를 입력하고 PNG, JPEG, WEBP, GIF, BMP 또는 TIFF 중 출력 형식을 지정하면 이미지 형식을 변환할 수 있습니다. 형식을 생략하면 PNG가 선택됩니다.
변환 전에 확인할 항목
이미지 형식을 바꿔야 할 때 이 도구를 사용할 수 있습니다. 이미지 데이터를 입력하면 PNG, JPEG, WEBP, GIF, BMP 또는 TIFF 형식의 이미지 데이터로 변환할 수 있습니다. 입력 데이터는 base64로 인코딩된 이미지 바이트로 해석됩니다. 따라서 변환하려는 이미지의 데이터가 먼저 준비되어 있어야 합니다.
출력 형식을 따로 지정하지 않는 경우에는 PNG가 선택됩니다. JPG라는 이름을 입력해도 JPEG로 처리됩니다. 사진을 JPEG나 WEBP로 바꾸려는 경우에는 품질 값을 살펴볼 수 있고, PNG, GIF, BMP 또는 TIFF를 선택한 경우에는 같은 값을 입력해도 해당 형식의 인코더로 전달되지 않습니다. 형식과 품질의 관계를 알고 선택하면 결과를 확인하기가 쉽습니다.
이 안내는 입력 준비, 출력 형식 선택, 품질 값 사용, 변환 결과 확인의 순서로 구성되어 있습니다. 이미지 데이터가 없는 상태에서 실행하는 경우와 지원 목록 밖의 형식을 요청하는 경우에는 변환 결과를 얻을 수 없으므로, 실행 전에 입력과 형식을 함께 확인하는 것이 좋습니다.
입력부터 실행까지의 순서
-
변환할 이미지의 데이터를 준비합니다. 입력란에는 이미지 자체를 설명하는 이름만 적지 말고, 도구가 이미지 바이트로 해석할 수 있는 base64 인코딩 데이터를 제공합니다. 데이터가 비어 있으면 작업이 진행되지 않고 실패 결과가 반환됩니다. 파일을 고르는 과정과 별개로 실제 입력 데이터가 들어갔는지 확인합니다.
-
출력 형식을 정합니다. PNG, JPEG, WEBP, GIF, BMP, TIFF 중 하나를 선택할 수 있습니다. 투명도나 원본의 사용 목적을 고려해 형식을 고르되, 이 정보만으로 특정 형식의 시각적 결과를 보장할 수는 없습니다. 형식 항목을 비워 두면 PNG가 기본값이 됩니다.
-
JPG를 사용하려는 경우에는 JPG 또는 JPEG라는 표기를 입력할 수 있습니다. JPG는 별도의 출력 형식으로 남지 않고 JPEG로 정규화됩니다. 결과에서 형식 정보를 확인할 때에는 입력한 표기보다 정규화된 JPEG라는 값을 기준으로 살핍니다.
-
JPEG 또는 WEBP를 선택했다면 품질 값을 입력할지 결정합니다. 값을 입력하지 않으면 기본값 90이 적용됩니다. 품질 값은 JPEG와 WEBP를 만들 때 인코더로 전달되지만, PNG, GIF, BMP, TIFF를 만들 때에는 전달되지 않습니다. 그러므로 후자의 형식을 선택한 뒤 품질 값만 바꾸어도 같은 방식의 품질 조정이 이루어진다고 해석하지 않습니다.
-
입력 데이터와 출력 형식을 다시 확인한 뒤 변환을 실행합니다. JPEG를 만드는 과정에서 원본 이미지가 RGBA 모드이거나 팔레트 모드이면 RGB로 변환된 다음 저장됩니다. 이 처리는 JPEG 저장에 필요한 색상 모드에 맞추는 과정이며, 다른 출력 형식의 처리 방식까지 같은 것으로 볼 근거는 없습니다.
-
실행 뒤 성공 여부를 먼저 확인합니다. 성공한 경우에는 변환된 이미지 데이터, 선택된 출력 형식, 출력 바이트 크기 정보가 제공됩니다. 이 세 가지를 차례로 확인하면 데이터가 생성되었는지, 형식이 원하는 값인지, 결과 크기 정보가 함께 반환되었는지를 구분해 볼 수 있습니다.
성공 결과와 실패 범위 읽기
성공 결과에서는 먼저 변환된 이미지 데이터가 있는지 살핍니다. 이어서 출력 형식 정보가 선택한 형식과 일치하는지 비교합니다. JPG를 선택했다면 결과 형식은 JPEG로 표시될 수 있으며, 형식 이름이 정규화된 결과로 반환되는 점을 감안해야 합니다. 출력 바이트 크기는 결과에 포함되는 크기 정보로 확인합니다.
품질 값의 의미는 출력 형식에 따라 달라집니다. JPEG와 WEBP에서는 입력한 값이 인코더에 전달되지만, PNG, GIF, BMP, TIFF에서는 전달되지 않습니다. 기본값 90은 품질 값을 생략한 경우에 적용되는 값입니다. 검토된 정보만으로는 허용되는 품질 값의 범위, 값의 반올림이나 보정 방식, 특정 값이 만드는 시각적 품질을 판단할 수 없습니다.
실패 결과가 나오면 입력 데이터가 빠졌는지, 요청한 형식이 PNG, JPEG, WEBP, GIF, BMP, TIFF 중 하나인지 확인합니다. 이미지 디코딩, 열기, 변환 또는 저장 중 문제가 생겨도 성공 대신 실패 결과가 반환됩니다. Pillow를 사용할 수 없는 경우에도 Pillow가 설치되지 않았다는 내용과 함께 실패 결과가 반환됩니다. 따라서 바이트 크기만 보고 화질이나 변환의 적합성을 단정하지 말고, 성공 여부와 형식 정보를 함께 판단해야 합니다.
사용 예시
사진을 JPG로 사용하려고 이미지 데이터를 입력한 뒤 JPG를 출력 형식으로 지정합니다.
사진의 base64 이미지 데이터를 입력하고 출력 형식에 JPG를 지정한 뒤 변환을 실행합니다.
성공 결과에서 변환된 이미지 데이터가 제공되고, 출력 형식 정보가 JPEG로 표시되며 출력 바이트 크기 정보도 함께 확인됩니다.
제한 사항
- 검토된 동작만으로는 품질 값의 허용 범위, 값에 따른 시각적 품질, 특정 결과의 화질을 판단할 수 없습니다. 지원 목록에 없는 출력 형식도 지원된다고 볼 수 없습니다.
자주 발생하는 오류
- 입력 항목에 이미지 데이터 없이 형식만 지정하면 변환 대신 실패 결과가 반환됩니다. 실행 전에 base64로 인코딩된 이미지 데이터가 실제로 제공되었는지 확인하고 다시 시도하세요.
자주 묻는 질문
이미지 데이터 없이 형식만 지정해도 변환할 수 있나요?
이미지 데이터가 제공되지 않은 경우에는 변환되지 않고 실패 결과가 반환됩니다. 먼저 base64로 인코딩된 이미지 데이터를 입력해야 작업을 실행할 수 있습니다.
출력 형식을 비워 두면 어떤 형식이 선택되나요?
출력 형식을 생략한 경우에는 PNG가 기본으로 선택됩니다. JPG를 지정하면 결과 형식은 JPEG로 정규화됩니다.
품질 값은 선택한 형식마다 적용되나요?
품질 값은 JPEG와 WEBP를 출력할 때 인코더로 전달됩니다. PNG, GIF, BMP, TIFF 출력에는 전달되지 않으며, 값을 생략하면 기본값 90이 사용됩니다.