개발자

Base64 Encoder / Decoder

텍스트를 붙여넣어 Base64로 인코딩하거나 Base64 문자열을 붙여넣어 일반 텍스트로 디코딩하세요. 즉시 브라우저에서 처리되며 특수 문자를 깨뜨리지 않고 완전한 UTF-8을 지원합니다.

이 계산기가 도움이 되었나요?

Base64 Encoder / Decoder이란?

Base64는 RFC 4648에 정의된 바이너리-텍스트 인코딩 스킴으로, 64문자 알파벳을 사용하여 모든 바이너리 데이터를 안전한 ASCII 문자열로 변환합니다: 대문자 A–Z (0–25), 소문자 a–z (26–51), 숫자 0–9 (52–61), 기호 + (62) 및 / (63)입니다. 입력 길이가 3바이트의 배수가 아닌 경우 등호(=)가 패딩으로 사용됩니다. Base64는 HTML과 CSS에 이미지를 삽입하거나, 이메일(MIME)을 통한 바이너리 첨부 파일 전송, 인라인 미디어용 데이터 URL 인코딩, 텍스트 전용 API 및 프로토콜을 통한 바이너리 페이로드 전달에 널리 사용됩니다. 3바이트의 입력이 정확히 4개의 출력 문자로 매핑되므로, 인코딩된 표현은 원본보다 약 33% 더 큽니다. 이 도구는 표준 Base64 인코딩 및 디코딩을 브라우저에서 완전히 수행하며, 전체 UTF-8 입력을 지원하여 국제 텍스트, 이모지 및 특수 문자가 서버 왕복 없이 올바르게 인코딩됩니다.

이 계산기를 사용해야 할 때

  • 이미지, 오디오 또는 PDF와 같은 이진 데이터를 JSON API 페이로드나 HTML 페이지에 삽입할 때
  • 일반 텍스트만 지원하는 이메일 프로토콜(MIME)을 통해 파일 첨부 파일을 보낼 때
  • Base64로 인코딩된 자격 증명을 사용하는 Basic Auth 인증 시스템을 구축할 때
  • ASCII 텍스트만 지원하는 프로토콜(예: XML, SOAP)을 통해 데이터를 전송하기 위해 인코딩할 때
  • 텍스트 기반 데이터베이스나 구성 파일에 이진 데이터를 저장해야 할 때
  • API 요청이나 이메일 첨부 파일의 인코딩된 페이로드를 디버깅하거나 검사할 때

단계:

  1. 입력 영역에 텍스트를 붙여넣거나 입력하거나, 직접 인코딩을 위해 파일을 업로드합니다.
  2. 인코딩 또는 디코딩 모드를 토글 버튼으로 선택합니다.
  3. 여러 값을 한 번에 처리해야 하는 경우 배치 모드를 활성화하고 구분자를 선택합니다.
  4. 변환 버튼을 클릭하면 출력 영역이 실시간으로 업데이트됩니다.
  5. 복사 버튼으로 결과를 클립보드에 복사하거나 나중에 사용하기 위해 다운로드합니다.

공식

인코딩: 바이너리 데이터 → 6비트 그룹 → Base64 알파벳 (A-Z, a-z, 0-9, +, /) ➡ 디코딩: 프로세스를 반대로

사용 사례

  • Data URL을 사용하여 HTML, CSS 또는 SVG 파일에 이미지나 폰트를 인라인으로 삽입
  • 이메일 프로토콜(MIME)을 통한 바이너리 파일 첨부 인코딩 전송
  • Base64로 자격 증명을 전달하는 기본 HTTP 인증 헤더 구축
  • JSON 또는 XML 구성 파일에 암호화 키나 인증서와 같은 바이너리 데이터 저장
  • 텍스트 전용 API, REST 엔드포인트 또는 메시지 큐를 통한 바이너리 페이로드 전송
  • Base64 인코딩된 세그먼트를 포함하는 프로토콜 버퍼, JWT 토큰 또는 Webhook 페이로드 디버깅

주요 이점

  • 입력하면서 실시간 출력으로 즉시 인코딩 및 디코딩
  • 국제 텍스트와 이모지가 올바르게 인코딩되는 완전한 UTF-8 지원
  • 배치 모드에서 줄이나 쉼표로 구분된 여러 문자열을 인코딩 또는 디코딩 가능
  • 파일 업로드는 서버 업로드 없이 브라우저에서 직접 파일을 Base64로 변환
  • 원클릭 복사 버튼으로 코드나 구성에서 결과를 빠르게 사용
  • 프라이버시 우선: 모든 처리가 로컬에서 이루어지며 서버로 전송되는 것은 없습니다

전문가 팁

  • URL이나 파일 경로에 인코딩된 데이터를 삽입할 때 URL 안전 Base64 사용 (+를 -로, /를 _로 대체)
  • 페이로드 크기가 중요한 경우 Base64 인코딩 전에 데이터를 압축 — 인코딩만으로 약 33% 오버헤드 추가
  • 디코딩 전에 항상 입력 문자셋이 예상 인코딩과 일치하는지 확인, 특히 비ASCII 텍스트의 경우
  • 이메일 첨부의 경우 클라이언트 간 호환성을 보장하기 위해 MIME content-transfer-encoding 헤더와 함께 Base64 사용
  • 배치 모드는 여러 값을 한 번에 인코딩하는 데 유용 — 데이터 형식에 따라 줄바꿈 또는 쉼표 구분자 사용

피해야 할 일반적인 실수

  • Base64가 보안이나 기밀성을 제공한다고 가정 — 이는 역방향 가능한 인코딩이지 암호화가 아님
  • Base64가 데이터 크기를 약 33% 증가시킨다는 것을 잊음 — API 또는 스토리지 한도를 초과할 수 있음
  • 표준 Base64와 URL 안전 Base64를 혼동 — 서로 다른 특수 문자를 사용 (+, / vs -, _)
  • 등호(=)를 패딩 대신 리터럴 데이터로 취급 — 인코딩된 콘텐츠의 일부가 아님

주요 용어 설명

Base64: 64개의 인쇄 가능한 ASCII 문자를 사용하여 바이너리 데이터를 표현하는 바이너리-텍스트 인코딩 스킴
인코딩: 원시 텍스트 또는 바이너리 데이터를 텍스트 기반 시스템에서 안전한 전송을 위해 Base64 문자열로 변환
디코딩: 인코딩된 문자열에서 원본 바이트 또는 텍스트를 복구하기 위해 Base64 인코딩을 반전
UTF-8: Unicode 표준의 모든 문자를 지원하는 가변 너비 Unicode 문자 인코딩
패딩: Base64 문자열 끝에 추가되어 길이를 4의 배수로 만드는 등호(=) 문자

관련 개념

예시

인코딩 "Hello World!" → "SGVsbG8gV29ybGQh". 디코딩 "U3Vuc2hpbmU=" → "Sunshine". 입력의 3바이트마다 4개의 Base64 문자가 됩니다.

결과 해석 방법

이 변환기는 두 가지 모드로 작동합니다: 인코딩(텍스트 → Base64) 및 디코딩(Base64 → 텍스트). 인코딩 시 출력은 항상 A–Z, a–z, 0–9, +, / 문자를 사용하는 유효한 Base64 문자열입니다. 디코딩 시 유효한 Base64 문자열을 붙여넣으면 도구가 원래 텍스트 또는 이진 데이터를 반환합니다. 바이트 수 출력은 작업 중인 데이터의 크기를 보여주며, 이는 크기 오버헤드를 이해하는 데 유용합니다. Base64 인코딩은 데이터 크기를 약 33% 증가시키므로, 100바이트 파일은 인코딩 시 133바이트가 됩니다. 페이로드 크기를 최소화해야 한다면, 인코딩 전에 데이터를 압축하거나 사용 사례에 더 효율적인 인코딩 방식을 고려하세요.

자주 묻는 질문

Base64 인코딩이란 무엇인가요?
Base64는 이진 데이터를 ASCII 문자열 형식으로 나타내는 이진-텍스트 인코딩 방식입니다. HTML이나 이메일 첨부 파일에 이미지를 삽입하는 등 텍스트용으로 설계된 미디어를 통해 데이터를 전송하는 데 일반적으로 사용됩니다.
Base64를 언제 사용해야 하나요?
JSON, HTML, CSS, XML 또는 이메일과 같은 텍스트 기반 형식에 이진 데이터(이미지, 파일)를 삽입해야 할 때 Base64를 사용하세요. 기본적인 데이터 난독화 및 API 인증 헤더에도 사용됩니다.
Base64가 데이터를 압축하나요?
아니요, Base64는 실제로 데이터 크기를 약 33% 증가시킵니다. 3바이트의 데이터를 4개의 ASCII 문자로 인코딩합니다. 파일 크기가 중요한 경우 Base64 이전에 압축을 사용하세요.
Base64 인코딩은 안전한가요?
Base64 인코딩은 64개의 인쇄 가능한 문자(A-Z, a-z, 0-9, +, /)를 사용하여 이진 데이터를 ASCII 텍스트로 변환합니다. HTML/CSS에 이미지를 삽입하거나, 텍스트 기반 프로토콜로 데이터를 전송하거나, JSON에 이진 데이터를 저장할 때 흔히 사용됩니다.
왜 제 Base64 문자열이 다른 도구와 다른가요?
아니요, Base64는 암호화가 아닙니다. 단순한 인코딩 방식일 뿐입니다. 누구나 Base64 문자열을 쉽게 디코딩할 수 있습니다. 비밀번호나 API 키와 같은 민감한 데이터를 보호하기 위해 Base64를 사용하지 마세요. 보안을 위해서는 적절한 암호화(AES, RSA)를 사용해야 합니다.
Base64 문자열을 원래 형식으로 디코딩할 수 있나요?
도구마다 다른 줄 바꿈을 사용할 수 있습니다(MIME 표준은 줄당 76자). 패딩 문자(=)나 문자 집합이 다를 수 있습니다. 이 도구는 줄 바꿈 없이 표준 RFC 4648 인코딩을 사용하며, 웹 개발에서 가장 일반적입니다.
Base64 문자열을 원래 형태로 디코딩할 수 있나요?
네! Base64 인코딩은 완전히 가역적입니다. 디코딩 모드를 사용하면 유효한 Base64 문자열을 원래 형태(텍스트, 이진 데이터 또는 모든 데이터 유형)로 되돌릴 수 있습니다.
Base64 인코딩은 언제 사용해야 하나요?
텍스트 형식(HTML, CSS, JSON, XML)에 이진 데이터를 삽입하거나, 텍스트 전용 프로토콜(이메일, HTTP)로 이진 데이터를 전송하거나, 텍스트 기반 데이터베이스에 이진 데이터를 저장해야 할 때 사용합니다.
Base64 인코딩은 파일 크기를 증가시키나요?
이진 데이터를 텍스트 형식(HTML, CSS, JSON, XML)에 삽입해야 할 때, 텍스트만 지원하는 프로토콜(이메일, HTTP)로 이진 데이터를 전송해야 할 때, 텍스트만 처리하는 데이터베이스에 이진 데이터를 저장해야 할 때, 또는 이진 데이터를 읽을 수 있는 텍스트로 표시해야 할 때 Base64를 사용하세요.
Base64가 유니코드 텍스트를 처리할 수 있나요?
네, Base64 인코딩은 데이터 크기를 약 33% 증가시킵니다. 3바이트의 이진 데이터가 4개의 ASCII 문자로 변환됩니다. 예를 들어 1MB 파일은 Base64 인코딩 시 약 1.33MB가 됩니다.
Base64가 유니코드 텍스트를 처리할 수 있나요?
Base64는 원시 바이트를 인코딩하며, 문자가 아닙니다. 유니코드 텍스트를 인코딩하려면 먼저 바이트(일반적으로 UTF-8)로 변환한 다음 바이트를 Base64로 인코딩하세요. 저희 도구는 이 변환을 자동으로 처리합니다.

더 많은 도구 살펴보기

전체 도구 라이브러리에서 엄선한 새로운 추천입니다.