사용 방법
- 인코딩을 고르고 텍스트를 입력하면 Base64 결과가 바로 나옵니다. 한글·이모지는 UTF-8 바이트로 바꾼 뒤 인코딩합니다.
- 디코딩을 고르고 Base64 문자열을 붙여넣으면 원래 텍스트로 돌려줍니다. 줄바꿈, 패딩(=) 생략, URL-safe 문자(-_)가 섞여 있어도 자동으로 처리합니다.
- 주소나 파일 이름에 넣을 값이라면 URL-safe를 켜세요.
+·/대신-·_를 쓰고 끝의=를 뺍니다. - 아래 파일 → Base64 영역에서 이미지 등 파일(최대 10MB)을 Base64나
data:URI로 바꿀 수 있습니다.
Base64 원리
Base64(RFC 4648)는 바이트 3개(24비트)를 6비트씩 4조각으로 나눠 64개 문자로 표현합니다. 그래서 결과는 원본보다 약 33% 커지고, 길이가 3의 배수가 아니면 끝을 =로 채웁니다.
| 구분 | 사용 문자 | 패딩 | 쓰는 곳 |
|---|---|---|---|
| 표준 Base64 | A–Z a–z 0–9 + / | = 있음 | 이메일 첨부(MIME), Data URI, HTTP Basic 인증 |
| URL-safe (base64url) | A–Z a–z 0–9 - _ | 보통 생략 | JWT, URL 파라미터, 파일 이름 |
실제 예시
| 입력 | UTF-8 바이트 | Base64 |
|---|---|---|
Hi |
2 | SGk= |
한 |
3 (ED 95 9C) | 7ZWc |
안녕하세요 👋 |
20 | 7JWI64WV7ZWY7IS47JqUIPCfkYs= |
한글은 1자에 3바이트, 이모지는 4바이트라서 같은 글자 수라도 영문보다 Base64가 훨씬 길어집니다.
주의할 점
- Base64는 암호화가 아닙니다. 누구나 바로 되돌릴 수 있으므로 비밀번호나 키를 숨기는 용도로 쓰면 안 됩니다. 무결성 확인이 필요하면 해시 생성기를 쓰세요.
- 디코딩 결과가 UTF-8 텍스트가 아니면(이미지·PDF 등) 앞부분 바이트를 보여주고 바이너리 파일로 저장할 수 있게 합니다.
- 큰 이미지를 Data URI로 HTML·CSS에 넣으면 캐시가 안 되고 문서가 무거워집니다. 수 KB 이하의 아이콘 정도에만 권장됩니다.
자주 묻는 질문
다른 사이트에서 디코딩하면 한글이 깨지는 이유는?
브라우저 기본 함수 btoa/atob는 1바이트 문자(Latin-1)만 다뤄서 한글을 그대로 넣으면 오류가 나거나 깨집니다. 이 도구는 TextEncoder/TextDecoder로 UTF-8 바이트를 정확히 변환합니다.
입력한 내용이나 파일이 업로드되나요?
아니요. 변환은 모두 브라우저 안에서 이뤄지고 네트워크로 아무것도 보내지 않습니다. 인증 토큰이나 사내 파일도 안전하게 변환할 수 있습니다.
JWT 안의 내용을 보고 싶어요.
JWT의 각 부분은 base64url로 인코딩된 JSON입니다. JWT 디코더를 쓰면 헤더·페이로드를 나눠서 만료 시각까지 보여줍니다.