Base64 인코더
텍스트나 파일을 즉시 Base64 텍스트로 바꾸세요.
브라우저에서 실행됩니다. 파일이 기기 밖으로 나가지 않습니다.
- 텍스트 또는 파일 입력
- URL 안전 옵션
- 업로드 없음
Base64 인코딩 방법
- 텍스트를 붙여넣거나 파일 모드로 바꿔서 파일을 놓으세요.
- 링크나 파일명에 쓸 결과가 필요하면 URL 안전을 켜세요.
- 결과를 복사하거나 텍스트 파일로 다운로드하세요.
Base64 인코딩의 원리
RFC 4648은 Base64 알파벳을 정의합니다: A-Z, a-z, 0-9, +, / 이렇게 64개 문자와 끝에 붙는 패딩용 =입니다.
입력 3바이트마다 출력 4글자가 됩니다. 3바이트는 24비트이고 Base64 한 글자가 6비트를 담기 때문입니다. 입력 길이가 3의 배수가 아니면 마지막 그룹에 =가 하나나 둘 붙어 패딩됩니다.
표준과 URL 안전 알파벳 비교
| 위치 | 표준(RFC 4648) | URL 안전(RFC 4648 §5) |
|---|---|---|
| 62번째 문자 | + | - |
| 63번째 문자 | / | _ |
| 패딩 | 끝에 = | 보통 생략 |
URL 안전 Base64는 경로 구분자로 오해받기 쉬운 / 같은, URL이나 파일명에서 이스케이프가 필요한 문자를 피합니다.
Base64가 쓰이는 곳
- 데이터 URL. 별도 파일 없이 이미지나 폰트를 CSS나 HTML에 직접 넣을 수 있습니다.
- 이메일 첨부파일. MIME(RFC 2045)이 본문에 일반 텍스트만 허용하기 때문입니다.
- JSON 웹 토큰과 많은 API 페이로드. JSON에는 원시 이진 데이터를 담을 방법이 없기 때문입니다.
- 기본 HTTP 인증 헤더. 사용자 이름과 비밀번호를 하나의 Base64 문자열로 전송합니다.
Base64 인코딩 자주 묻는 질문
Base64 인코딩이란 무엇인가요?
Base64는 64개의 안전한 문자(A-Z, a-z, 0-9, +, /)를 사용해 어떤 바이트든 일반 텍스트로 바꿉니다. 그래서 이메일이나 JSON처럼 텍스트만 다루는 시스템에서도 이진 데이터를 주고받을 수 있습니다.
출력이 얼마나 더 커지나요?
Base64 텍스트는 원본 바이트보다 약 33% 커집니다. 3바이트마다 4글자가 되기 때문입니다.
URL 안전이란 무엇을 뜻하나요?
+와 /를 -와 _로 바꾸고 끝의 = 패딩을 없애서, 이스케이프 없이 URL이나 파일명에 바로 쓸 수 있게 합니다.
제 파일이 어딘가에 업로드되나요?
아니요. 인코딩은 브라우저에서 이루어지므로 파일과 텍스트는 기기 밖으로 나가지 않습니다.
Base64는 왜 64개의 문자만 쓰나요?
Base64는 비트를 6개씩 묶는데 2의 6제곱이 64이므로, 가능한 모든 6비트 값이 하나의 글자, 숫자, +, / 중 하나에 대응합니다. 이 문자 집합은 JSON, XML, 이메일 같은 일반 텍스트 형식에 안전하게 넣을 수 있습니다.
아주 큰 파일도 인코딩할 수 있나요?
네, 다만 Base64 텍스트는 원본 파일보다 메모리를 약 3분의 1 더 쓰며, 결과가 아주 크면 일부 브라우저에서 복사나 다운로드가 느려질 수 있습니다. 수십 메가바이트 정도의 파일까지는 문제없이 동작합니다.