이지유틸

관련 유틸

Base64 인코더/디코더

텍스트를 Base64로 변환하거나 원래 문자로 되돌리세요. 한글 완벽 지원.

결과

Base64 완벽 정리: 무엇이고 언제 쓰는가

Base64는 임의의 바이너리 데이터를 64개의 안전한 ASCII 문자(A–Z, a–z, 0–9, +, /)로 표현하는 인코딩입니다. 텍스트만 다룰 수 있는 시스템 — 이메일 첨부파일, JSON 페이로드, 데이터 URL — 을 위해 만들어졌고, 현대 개발 어디에서나 만나게 됩니다.

1. Base64를 만나는 곳

  • 데이터 URL: 작은 이미지를 HTML/CSS에 직접 삽입 (data:image/png;base64,...)
  • HTTP Basic 인증: Authorization 헤더가 아이디:비밀번호를 Base64로 인코딩
  • JWT 토큰: 헤더와 페이로드가 Base64URL로 인코딩된 JSON
  • 이메일(MIME): 첨부파일이 Base64 텍스트로 전송

2. 인코딩은 암호화가 아닙니다

Base64는 어떤 비밀도 보장하지 않습니다. 키 없이 누구나 디코딩할 수 있죠. 기밀성이 필요하면 AES, TLS 같은 진짜 암호화를 사용해야 합니다. Base64의 역할은 '전송 안전성' — 텍스트를 기대하는 시스템을 바이트가 무사히 통과하게 하는 것입니다.

3. 크기 트레이드오프

Base64는 데이터를 약 33% 부풀립니다(3바이트 → 4문자). 그래서 큰 파일은 원본 바이너리로 전송하는 것이 좋고, Base64는 크기보다 텍스트 안전성이 중요한 작은 페이로드에 적합합니다.

4. 한글 처리에 대하여

브라우저의 기본 btoa() 함수는 한글 같은 멀티바이트 문자에서 오류를 냅니다. 이 도구는 텍스트를 UTF-8 바이트로 먼저 변환한 뒤 인코딩하므로 한글, 이모지 등 모든 유니코드가 정확하게 변환됩니다. 물론 모든 처리는 브라우저 안에서만 이루어집니다.

"Base64가 답하는 질문은 하나입니다 — 텍스트를 위해 만들어진 세상으로 바이트를 어떻게 통과시킬 것인가."