Base64 인코딩/디코딩

텍스트를 Base64로 인코딩하거나 Base64 문자열을 일반 텍스트로 디코딩합니다. 빠르고 무료이며 브라우저에서 실행됩니다.

사용 방법

  1. 입력 영역에 텍스트를 입력하거나 붙여넣습니다
  2. 「인코딩」으로 Base64로 변환하거나 「디코딩」으로 Base64에서 변환합니다
  3. 「복사」 버튼으로 결과를 복사합니다

자주 묻는 질문

  • Base64 인코딩이란 무엇인가요?

    Base64는 바이너리 데이터를 ASCII 문자열 형식으로 표현하는 바이너리-텍스트 인코딩 방식입니다. HTML/CSS에 이미지를 삽입하거나 텍스트 기반 프로토콜로 데이터를 전송할 때 일반적으로 사용됩니다.

  • Base64는 암호화인가요?

    아니요, Base64는 인코딩이지 암호화가 아닙니다. 어떠한 보안도 제공하지 않습니다. 누구나 Base64 문자열을 원래 형식으로 디코딩할 수 있습니다.

  • 이 도구는 UTF-8을 지원하나요?

    네, 모든 언어의 문자를 포함한 UTF-8 인코딩 텍스트를 완전히 지원합니다.

  • 최대 입력 크기는 얼마인가요?

    이 도구는 브라우저에서 실행되므로 한도는 기기의 메모리에 따라 다릅니다. 일반적으로 수 메가바이트는 문제없이 처리됩니다.

Base64 인코딩의 원리

Base64는 임의의 바이너리 데이터를 64개의 ASCII 문자만 사용하여 표현하는 인코딩 방식입니다. 사용되는 문자는 A–Z(26개), a–z(26개), 0–9(10개), 그리고 +/(2개)이며 총 64자입니다. 패딩 문자로는 =가 사용됩니다.

인코딩 과정은 다음과 같습니다. 원본 데이터를 3바이트(24비트) 단위로 분할하고, 24비트를 4개의 6비트 그룹으로 나눕니다. 각 6비트 값을 대응하는 Base64 문자로 변환합니다. 따라서 3바이트의 원본 데이터는 항상 4개의 Base64 문자로 표현됩니다. 이로 인해 Base64 인코딩은 원본 데이터보다 약 33% 크기가 증가합니다.

암호화와의 차이

Base64는 **인코딩(encoding)**이지 **암호화(encryption)**가 아닙니다. 이 둘의 차이는 매우 중요합니다.

구분 인코딩 암호화
목적 데이터 표현 형식 변환 데이터 기밀성 보호
역변환 키 없이 누구나 가능 키 없이는 불가능
보안성 없음 있음

Base64로 인코딩된 데이터는 누구나 디코딩할 수 있으므로 민감한 정보를 숨기는 용도로 사용해서는 안 됩니다.

주요 활용 사례

이메일 첨부 파일

초기 이메일 프로토콜(SMTP)은 7비트 ASCII 텍스트만 전송할 수 있었습니다. 이미지나 문서 같은 바이너리 파일을 이메일로 보내기 위해 MIME 표준에서 Base64 인코딩이 채택되었습니다. 오늘날에도 이메일 첨부 파일은 내부적으로 Base64로 인코딩되어 전송됩니다.

이미지 임베딩 (Data URI)

웹 페이지에서 작은 이미지를 별도의 HTTP 요청 없이 HTML이나 CSS에 직접 포함할 때 Base64를 사용합니다.

background-image: url("data:image/png;base64,iVBORw0KGgo...");

아이콘이나 로고처럼 작고 자주 사용되는 이미지에 적합하며, 네트워크 요청 수를 줄여 성능을 개선합니다.

API 인증 헤더

HTTP Basic 인증에서 사용자 이름과 비밀번호를 username:password 형태로 조합한 뒤 Base64로 인코딩하여 Authorization 헤더에 담아 전송합니다. 보안을 위해 반드시 HTTPS와 함께 사용해야 합니다.

JWT (JSON Web Token)

JWT의 헤더와 페이로드는 Base64URL 인코딩을 사용합니다. Base64URL은 표준 Base64에서 URL에 안전하지 않은 +/를 각각 -_로 대체한 변형입니다.