Base64란 무엇인가?
Base64는 임의의 바이너리 데이터를 A-Z, a-z, 0-9, +, / 의 64개 ASCII 문자로 표현하는 인코딩 방식입니다. 1987년 RFC 989에 처음 정의되었고 현재는 RFC 4648로 표준화되어, 이메일 첨부 파일(MIME), JWT 토큰, Data URL, Basic 인증, API 키, 이미지 임베딩 등 텍스트만 안전하게 전송할 수 있는 모든 곳에서 사용됩니다. 본 도구는 양쪽 패널이 실시간으로 연동되어 한쪽에 입력하면 다른 쪽에 즉시 변환 결과가 나타나며, UTF-8 한글·이모지·특수문자를 모두 안전하게 처리합니다. 모든 변환은 브라우저에서 수행되어 비밀번호·토큰·내부 데이터를 외부 서버로 전송하지 않습니다.
Base64는 암호화가 아니다 — 중요한 오해
Base64는 인코딩(encoding)이지 암호화(encryption)가 아닙니다. 누구나 동일한 알고리즘으로 즉시 디코딩할 수 있어 비밀번호·개인정보·API 키를 Base64로 "숨기는" 행위는 보안상 무의미합니다. 예를 들어 cGFzc3dvcmQ=는 즉시 "password"로 디코딩됩니다. 기밀성이 필요하면 AES, RSA 같은 실제 암호화 알고리즘을 사용해야 합니다. Base64의 본래 목적은 바이너리 → 텍스트 변환으로, 이메일·HTTP 헤더 같이 텍스트만 받는 채널에서 바이너리 데이터를 손실 없이 전송하기 위함입니다.
Base64 활용 사례
- • 이메일 첨부 파일 — MIME 표준이 모든 첨부를 Base64로 인코딩. 이메일 본문이 큰 이유.
- • JWT 토큰 — Header·Payload가 Base64Url 인코딩. 서명만 분리되어 전송.
- • HTTP Basic 인증 — username:password를 Base64로 변환해 Authorization 헤더에 포함.
- • Data URL — <img src="data:image/png;base64,iVBORw0KG..."> 형식으로 이미지를 HTML에 임베딩.
- • API 키 전달 — 바이너리 키를 텍스트로 안전하게 환경변수에 저장.
- • QR 코드 생성 — 이미지 바이너리를 Base64로 변환해 데이터 URL로 처리.
- • SSL/TLS 인증서 — PEM 형식이 -----BEGIN CERTIFICATE----- + Base64 인코딩 본문.
Base64 변환 규칙
| 항목 | 값 |
|---|---|
| 사용 문자 | A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63) |
| 패딩 문자 | = (4의 배수 맞추기) |
| 변환 단위 | 3바이트 → 4문자(8bit × 3 = 6bit × 4) |
| 크기 증가 | 약 33% 증가 (3바이트 → 4문자) |
| 한글 1글자 | UTF-8 3바이트 → Base64 4문자 |
| Base64Url | + → -, / → _, 패딩 생략 (URL/JWT용) |
자주 묻는 질문 (FAQ)
Q. 한글이 깨져 보이는데요?
A. 본 도구는 UTF-8 인코딩을 자동 처리하므로 한글·이모지·중문 모두 정상 변환됩니다. 다른 도구에서 한글이 깨진다면 EUC-KR로 인코딩한 후 Base64로 변환된 것일 수 있으니 원본 인코딩을 확인하세요.
Q. 패딩 (=)이 무엇이고 왜 필요한가요?
A. Base64는 3바이트 단위로 변환하는데, 입력이 3의 배수가 아니면 부족한 자리를 = 로 채워 4의 배수로 맞춥니다. 1바이트 부족 → ==, 2바이트 부족 → =, 3바이트 정확 → 패딩 없음. JWT/URL 사용 시에는 패딩을 생략합니다.
Q. Base64Url과 표준 Base64의 차이는?
A. URL과 파일 시스템에서 +와 /는 특수문자라 안전하지 않아, Base64Url은 +를 -, /를 _로 치환하고 패딩(=)도 생략합니다. JWT, OAuth, URL 파라미터 인코딩에 사용됩니다.
Q. 이미지 파일도 변환할 수 있나요?
A. 본 도구는 텍스트 입력만 지원합니다. 이미지를 Base64로 변환하려면 Mini Projects의 다른 도구(이미지 변환기)를 사용하거나 JavaScript의 FileReader.readAsDataURL()을 활용하세요.
Q. 입력한 데이터가 외부로 전송되나요?
A. 아니요. 모든 변환은 브라우저에서만 수행되며 외부 서버로 전송되지 않습니다. API 키·인증 토큰·민감 데이터도 안전합니다.