Base64 JPG 변환기

사진이나 다른 이미지가 담긴 Base64를 붙여넣고 .jpg 파일로 저장합니다. JPEG를 바이트 단위까지 그대로 보존하려면 ‘원본’을, 설정한 품질로 다시 인코딩하려면 JPG를 선택하십시오.

브라우저에서만 실행되며 어떤 데이터도 업로드되지 않습니다.

사용 방법

  1. Base64 텍스트나 data:image/jpeg;base64 URI를 입력란에 붙여넣습니다.
  2. 미리 보기, 감지된 형식, 이미지 크기를 확인합니다.
  3. JPG가 이미 선택되어 있습니다. ‘품질’ 슬라이더를 조절합니다. 값이 높을수록 디테일이 많이 남고, 낮을수록 파일이 작아집니다.
  4. .jpg 파일을 다운로드합니다. 기존 JPEG를 그대로 보존하려면 대신 ‘원본’을 선택하십시오.

Base64 JPEG의 모습

모든 JPEG 파일은 FF D8 FF 바이트로 시작하므로 Base64는 항상 /9j/로 시작합니다. 그다음 문자를 보면 파일의 출처를 짐작할 수 있습니다. /9j/4AAQSkZJRg는 일반적인 JFIF 이미지이고, /9j/4Q는 대개 카메라나 휴대폰이 기록한 Exif 헤더를 뜻합니다. Base64 JPEG는 모바일 앱 업로드, 폼 제출, CMS 내보내기, 이메일 첨부 파일, REST API의 사진 필드에서 볼 수 있습니다.

JPG와 JPEG는 같은 형식입니다. 짧은 확장자는 파일 확장자가 세 글자로 제한되던 MS-DOS 시절에서 유래했습니다. 올바른 MIME 유형은 image/jpeg입니다. 이 도구는 바이트 자체를 읽으므로 image/jpg나 image/png로 표시된 data URI도 올바르게 디코딩합니다.

품질, 투명도, 메타데이터

JPEG는 손실 압축 형식이라 다시 인코딩할 때마다 디테일이 조금씩 더 사라집니다. 입력이 이미 JPEG이고 파일만 필요하다면 원본을 선택해 두 번째 압축 없이 저장하십시오. JPG 옵션은 PNG, WebP 등 다른 형식을 변환하거나 큰 사진의 용량을 줄이고 싶을 때 사용합니다. 품질은 80~90% 정도가 크기와 선명도 사이의 일반적인 균형점입니다.

  • 투명도. JPEG에는 알파 채널이 없으므로 투명한 영역은 흰색으로 채워집니다. 투명도를 유지하려면 PNG나 WebP를 사용하십시오.
  • 메타데이터. 변환은 픽셀만 다시 그리므로 카메라 모델이나 GPS 위치 같은 Exif 데이터는 옮겨지지 않습니다. ‘원본’은 메타데이터를 포함한 파일을 그대로 보존합니다.

Node.js에서 Base64 JPEG 디코딩하기

const fs = require('fs');
// data URI 접두사가 있으면 제거
const b64 = input.replace(/^data:[^,]+,/, '');
fs.writeFileSync('photo.jpg', Buffer.from(b64, 'base64'));

반대로 변환하려면 JPG Base64 변환 도구로 사진을 문자열이나 data URI로 바꿀 수 있습니다.

자주 묻는 질문

JPG와 JPEG는 같은 것입니까?
예. 두 확장자는 같은 형식과 같은 MIME 유형인 image/jpeg를 나타냅니다. 프로그램이 둘 중 하나를 요구하면 파일 이름을 자유롭게 바꾸어도 됩니다.
투명한 배경이 흰색으로 바뀐 이유는 무엇입니까?

JPEG는 투명도를 저장할 수 없으므로 변환기가 인코딩 전에 투명한 픽셀을 흰색으로 채웁니다. 투명한 배경을 유지하려면 PNG나 WebP를 선택하십시오.

화질 손실을 피하려면 어떻게 합니까?

Base64 데이터가 이미 JPEG라면 ‘원본’으로 다운로드해 바이트를 그대로 받으십시오. JPG로 다시 인코딩하면 품질을 높게 설정해도 항상 어느 정도 손실이 생깁니다.

사진의 Exif 데이터가 유지됩니까?

‘원본’으로 받을 때만 유지됩니다. 변환된 JPG에는 픽셀만 들어 있으므로, 사진을 공유하기 전에 위치 정보를 지우는 간단한 방법이 되기도 합니다.