Base64를 이미지로 변환

Base64 이미지 변환 도구를 사용하여 Base64 입력을 이미지로 변환하고 이미지를 빠르고 쉽게 가져오세요.

2개의 평가 중 5개
Base64를 이미지로 변환

Base64를 이미지로 변환은 Base64로 인코딩된 이미지 데이터를 다시 이미지로 변환하는 무료 도구입니다.

Base64는 이미지를 어떻게 표현하나요?

Base64는 이미지의 바이너리 바이트를 제한된 범위의 인쇄 가능한 문자로 바꿔 표현합니다. 일부 시스템은 원시 바이너리 데이터가 아닌 텍스트를 전송하도록 설계되어 있습니다. 바이트를 인코딩하면 이메일, JSON, HTML을 비롯한 텍스트 기반 형식에 데이터를 더 쉽게 넣을 수 있습니다.

표준 Base64 알파벳은 영문 대문자와 소문자, 숫자, 더하기 기호, 슬래시를 사용합니다. 끝에는 패딩으로 등호가 붙을 수 있습니다. 일반적으로 입력 바이트 3개가 Base64 문자 4개로 바뀌므로, 인코딩된 데이터는 원본보다 약 3분의 1 더 큽니다.

간단한 텍스트 예시를 보면 작동 방식을 쉽게 이해할 수 있습니다.

  • 텍스트로 해석한 원본 바이트: Man
  • Base64 출력: TWFu

이미지도 같은 과정을 거칩니다. 다만 원본 바이트가 읽을 수 있는 텍스트가 아니라 PNG, JPEG, GIF, WebP 또는 다른 이미지 형식을 나타냅니다. 원시 Base64 데이터 자체에는 이미지 형식이 표시되지 않습니다. 형식 정보는 데이터 URL에 포함되거나, 디코딩된 파일의 시그니처를 통해 판별할 수 있습니다.

도식: 텍스트가 Base64를 이미지로 변환 도구를 양방향으로 통과한다

Base64를 다시 이미지로 변환하려면 어떻게 하나요?

Base64 이미지 데이터를 도구에 붙여 넣고 변환하면 이미지가 반환됩니다. 먼저 값이 원시 Base64인지, 완전한 데이터 URL인지 확인하세요.

  1. 인코딩된 값을 찾아 JSON, CSS 또는 소스 코드에서 앞뒤 따옴표를 제외하고 복사하세요.
  2. data:image/png;base64, 같은 데이터 URL 접두사가 있는지 확인하세요. 실제 Base64 페이로드는 쉼표 다음부터 시작됩니다.
  3. 완전한 데이터 URL이 거부되면 접두사를 제거하고 인코딩된 페이로드만 입력하세요. 디코더마다 래퍼 허용 여부가 다릅니다.
  4. 다른 곳에서 사용하기 전에 변환된 이미지의 내용, 크기, 형식이 예상과 일치하는지 확인하세요.
digily.link의 Base64를 이미지로 변환 도구와 입력 양식

이메일 프로그램이 긴 Base64 값을 줄바꿈하면서 공백이나 개행이 들어가는 경우가 있습니다. 일부 디코더는 이런 공백 문자를 무시하지만, 엄격한 디코더는 입력을 거부합니다. 페이로드에 문장 부호나 설명을 추가하지 마세요. 숫자는 유효한 Base64 문자이지만, 유효한 문자로만 이루어진 데이터라고 해서 반드시 이미지는 아닙니다.

빈 Base64 값은 바이트가 없다는 뜻이므로 사용할 수 있는 이미지를 만들 수 없습니다. 매우 긴 값은 Base64가 원본 데이터를 확장하기 때문에 용량도 큽니다. 처리하려면 인코딩된 전체 데이터를 전송하고 디코딩해야 합니다.

Base64 이미지가 디코딩되지 않는 이유는 무엇인가요?

Base64 이미지가 디코딩되지 않는 주된 이유는 데이터가 잘못되었거나 불완전하거나, 다른 알파벳을 사용하거나, 이미지 바이트를 포함하지 않기 때문입니다. 원본에서 두 번 이상 인코딩했다면 이중 인코딩이 원인일 수도 있습니다. 오류가 발생한 위치와 형태를 살펴보면 원인을 파악하는 데 도움이 됩니다.

  • 입력 데이터가 잘림. 로그, 데이터베이스 뷰어 또는 메시징 시스템에서 복사하면 긴 값의 끝부분이 잘릴 수 있습니다. 문자가 누락되면 일반적으로 디코딩된 바이트도 불완전해집니다.
  • 변형 또는 알파벳이 다름. 표준 Base64는 +와 /를 사용하지만, Base64url은 일반적으로 -와 _를 사용합니다. 다른 변형을 전제로 하는 디코더는 입력을 거부할 수 있습니다.
  • 패딩이 누락됨. Base64 값 끝에는 등호가 한두 개 붙을 수 있습니다. 일부 시스템은 이 패딩을 생략하고 일부 디코더는 이를 복원하지만, 엄격한 구현에서는 패딩을 요구할 수 있습니다.
  • 이미지가 아닌 바이너리 데이터임. Base64는 PDF, 압축 파일, 글꼴 또는 그 밖의 모든 바이트를 표현할 수 있습니다. 따라서 유효한 Base64라고 해서 반드시 유효한 이미지인 것은 아닙니다.
  • 문자 인코딩이 혼동됨. 악센트가 있는 문자, 이모지, 비라틴 문자는 Base64 알파벳에 포함되지 않습니다. 이런 문자는 Base64로 인코딩하기 전에 먼저 바이트로 표현해야 하며, 일반적으로 UTF-8을 사용합니다.
  • 이중 인코딩됨. 한 번 디코딩한 결과가 Base64 문자로만 이루어진 또 다른 긴 데이터라면 원본이 두 번 인코딩되었을 수 있습니다. 출처를 통해 이중 인코딩이 맞다고 확인된 경우에만 중간 값을 한 번 더 디코딩하세요.

일반 Base64 디코더의 결과가 알아볼 수 없는 내용이라고 해서 반드시 디코딩에 실패한 것은 아닙니다. 이미지 바이트는 바이너리 데이터이므로 텍스트처럼 읽을 수 있는 형태가 아닙니다. 이미지가 아닌 페이로드를 확인하려면 Base64 디코더를 사용하고, 반대로 이미지를 Base64로 바꾸려면 이미지를 Base64로 변환을 사용하세요.

Base64 이미지 데이터는 어디에 사용되나요?

Base64 이미지 데이터는 바이너리 파일을 텍스트 중심의 필드나 문서로 전달해야 하는 곳에서 사용됩니다. 대표적인 예로 HTML 또는 CSS 데이터 URL에 삽입된 이미지, JSON API 페이로드의 이미지 속성, MIME 이메일 파트가 있습니다.

쿼리 문자열에도 사용될 수 있지만, 애플리케이션의 쿼리 파서가 표준 Base64 문자를 잘못 처리할 수 있습니다. 특히 폼 형식 파서는 더하기 기호를 공백으로, 등호를 구분자로 처리하기도 합니다. Base64url은 문제가 되는 알파벳 문자를 대체하고 패딩도 흔히 생략하므로 URL과 토큰에 더 적합합니다.

국제화 도메인 이름에는 Base64를 사용하지 않습니다. IDNA 시스템에서는 ASCII 레이블이 그대로 유지되며, ASCII가 아닌 U-label은 Punycode를 사용하는 A-label로 표현될 수 있습니다. Base64 값은 쿼리 문자열처럼 URL의 다른 부분에 들어갈 수 있습니다. 브라우저 주소에서 복사한 값을 분석할 때는 이 차이를 구분해야 합니다.

JSON에는 바이너리 전용 형식이 없으므로 API에서 Base64 이미지 데이터를 따옴표로 묶은 문자열에 넣기도 합니다. 텍스트 기반 데이터 교환에는 편리하지만 페이로드 크기가 늘어납니다. 크기가 큰 파일을 올리거나 업로드가 잦다면 일반적인 바이너리 파일 업로드 방식이 더 적합한 경우가 많습니다.

Base64 인코딩, 보안성과 서버 처리

Base64는 암호화가 아닌 인코딩 방식이며, 데이터를 비밀로 보호하지 않습니다. 값을 가진 사람은 누구나 비밀번호나 키 없이 디코딩할 수 있습니다. 따라서 자격 증명, 개인 사진, 기밀 문서를 Base64로 변환하는 것만으로 보호해서는 안 됩니다.

이 도구의 변환 작업은 서버에서 처리됩니다. 입력 데이터는 HTTPS를 통해 서버로 전송되며 저장되지 않습니다. HTTPS는 전송 중인 연결을 보호하지만, Base64 값을 암호화된 콘텐츠로 바꾸거나 신뢰할 수 없는 출처를 안전하게 만들지는 않습니다.

디코딩 과정에서는 이미지가 안전한지도 확인하지 않습니다. 알 수 없는 발신자에게 받은 Base64 값을 디코딩한 이미지는 다른 다운로드 이미지와 마찬가지로 주의해서 다루세요.

자주 묻는 질문

원시 Base64만 보고 이미지 형식을 알 수 있나요?

경우에 따라 알 수 있지만, Base64 알파벳만으로는 형식을 판별할 수 없습니다. 디코딩된 파일에는 흔히 매직 바이트라고 부르는 시그니처가 들어 있으며, 소프트웨어는 이를 이용해 PNG, JPEG, GIF 같은 형식을 구분할 수 있습니다. 데이터 URL에도 미디어 유형이 명시될 수 있지만, 이 표시는 잘못될 수 있으므로 실제 바이트보다 우선해서는 안 됩니다.

Base64를 디코딩하면 이미지 품질이 떨어지나요?

아니요. Base64를 올바르게 디코딩하면 원본 바이트가 복원되며 이미지가 다시 압축되지 않습니다. 이후 다른 프로그램에서 디코딩된 파일을 편집하거나 변환하지 않는 한 이미지 품질, 색상 데이터, 포함된 메타데이터는 그대로 유지됩니다.

Base64에 SVG 이미지를 넣을 수 있나요?

네. SVG 데이터도 Base64로 인코딩할 수 있지만, 표시 가능 여부는 데이터를 받는 소프트웨어의 지원에 따라 달라집니다. SVG는 XML 기반 형식이며 스크립트, 링크 또는 외부 참조를 포함할 수 있습니다. 따라서 출처를 알 수 없는 Base64 인코딩 SVG를 안전하게 열 수 있다고 단정해서는 안 됩니다.

Base64 이미지가 원본 파일보다 큰 이유는 무엇인가요?

Base64는 원본 데이터 3바이트마다 텍스트 문자 4개를 만들며, 마지막 단위에는 패딩이 포함될 수 있습니다. RFC 4648에서는 관련 명세가 패딩 생략을 명시적으로 허용하지 않는 한 패딩을 사용하도록 요구합니다. 따라서 데이터 URL 접두사, JSON 따옴표 또는 전송 오버헤드를 더하기 전부터 결과가 원본보다 약 3분의 1 큽니다. 일반 파일 업로드를 지원하는 시스템이라면 원본 바이너리 이미지를 전송하는 편이 대체로 더 적은 데이터를 사용합니다.

유사한 도구

이미지를 Base64로 변환

이미지 Base64 변환 도구를 사용하여 이미지를 Base64 문자열로 변환하고 데이터를 효율적으로 인코딩하세요.

4,678
13

인기 도구