개발자 도구

Base64 인코딩 / 디코딩

텍스트를 Base64 형식으로 인코딩하거나 Base64 문자열을 텍스트로 디코딩합니다. 이메일 첨부 파일, JWT 토큰, 데이터 URI, 바이너리 데이터 전송 등 다양한 용도로 널리 사용됩니다.


[[ labels.error_invalid ]]

Tips

  • Base64라는 이름은 인코딩에 사용하는 문자가 64종류(A–Z, a–z, 0–9, +, /)이기 때문입니다. 끝에 붙는 =는 바이트 수를 3의 배수로 맞추기 위한 패딩 문자입니다.
  • JWT(JSON Web Token)는 헤더·페이로드·서명을 Base64URL(+→-, /→_)로 인코딩합니다. URL 안전 변형이므로 이 도구의 출력과 일부 다를 수 있습니다.
  • HTML/CSS의 데이터 URI(data:image/png;base64,iVBOR...)도 대표적인 사용 예입니다. 작은 아이콘을 인라인으로 삽입할 때 활용됩니다.
  • Base64는 암호화가 아닌 인코딩입니다. 누구든 즉시 디코딩할 수 있으므로 민감한 정보 보호에는 사용할 수 없습니다.

자주 묻는 질문

아닙니다. Base64는 인코딩이며 암호화가 아닙니다. 키 없이 누구든 즉시 디코딩할 수 있습니다. 민감한 정보 보호에는 AES, BCrypt 등 전용 암호화 알고리즘을 사용하세요.

네. 이 도구는 내부적으로 UTF-8 인코딩을 사용하므로 한국어, 일본어, 이모지 등 모든 Unicode 문자를 올바르게 변환할 수 있습니다.

Base64는 3바이트를 4문자로 변환하므로 원본보다 약 33% 커집니다.

이메일 첨부 파일(MIME), HTML/CSS 데이터 URI(data:image/png;base64,...), JWT 인증 토큰, API를 통한 바이너리 데이터 전송 등에 널리 활용됩니다.

여담 ― Base64, 이메일, 그리고 URL의 충돌

Base64가 보급된 가장 큰 계기는 전자 메일입니다. 1970~80년대 SMTP는 7비트 ASCII만 처리할 수 있어 바이너리 첨부 파일이 전송 중 손상되곤 했습니다. MIME은 바이너리를 Base64로 텍스트화하여 전송하는 방식을 도입했고, 오늘날 모든 이메일 첨부 파일의 내부 표현에 여전히 사용되고 있습니다.

Base64 문자 집합에는 URL에서 특수한 의미를 갖는 +/가 포함됩니다. 이 문제를 해결하기 위해 Base64URL+→-, /→_, 패딩 없음)이 만들어졌습니다. JWT와 OAuth 토큰이 Base64URL을 사용하는 이유가 여기 있습니다.

3바이트 바이너리가 4문자의 Base64로 변환되므로 데이터 크기는 약 33% 증가합니다. 큰 이미지를 데이터 URI로 변환하면 HTML 파일이 크게 커지므로 작은 아이콘 외에는 권장하지 않습니다.