Base64 인코딩·디코딩란?
Base64는 이미지나 파일 같은 바이너리 데이터를 A–Z, a–z, 0–9, +, / 64개 문자만으로 표현하는 인코딩 방식입니다. 이메일 첨부파일, HTML·CSS에 이미지를 직접 넣는 Data URL, JWT 토큰, API 인증 헤더 등에서 널리 쓰입니다.
이 도구는 한글을 UTF-8 기준으로 변환하므로 다른 프로그래밍 언어의 결과와 똑같이 나옵니다. 파일 변환도 브라우저 안에서만 처리되어 파일이 서버로 올라가지 않습니다.
사용 방법
- 텍스트 탭에서 인코딩 또는 디코딩을 고르고 입력칸에 내용을 넣으면 결과가 바로 나옵니다.
- URL이나 파일 이름에 넣을 값이면 URL-safe를 켜세요. +와 /가 -와 _로 바뀌고 끝의 =가 빠집니다.
- 디코딩 결과가 이미지나 파일이면 미리보기와 함께 파일로 저장 버튼이 나타납니다.
- 파일·이미지 탭에서는 파일을 Data URL·CSS·img 태그로 바꾸거나, Base64 문자열을 다시 파일로 저장할 수 있습니다.
Base64는 암호화가 아닙니다
Base64는 누구나 바로 되돌릴 수 있는 표기 방식일 뿐, 내용을 숨기는 암호화가 아닙니다. 비밀번호나 개인정보를 Base64로만 바꿔 저장하거나 전송하면 안전하지 않습니다. 내용을 보호하려면 AES 같은 암호화를, 위·변조 확인에는 해시(SHA-256 등)를 사용하세요.
크기와 형식 차이
| 항목 | 설명 |
|---|---|
| 크기 | 원본 3바이트가 4글자가 되어 약 33% 커집니다 |
| 패딩(=) | 길이를 4의 배수로 맞추기 위해 끝에 0~2개 붙습니다 |
| URL-safe | + → -, / → _ 로 바꾸고 보통 =를 생략합니다 (JWT, RFC 4648 §5) |
| Data URL | data:image/png;base64,… 형태로 HTML·CSS에 바로 넣을 수 있습니다 |
한글 한 글자는 UTF-8에서 3바이트이므로 Base64로는 4글자가 됩니다. 예를 들어 "한글"은 7ZWc6riA입니다.
자주 묻는 질문
디코딩했더니 한글이 깨져요.
원본이 UTF-8이 아닌 EUC-KR(CP949)로 인코딩된 경우입니다. 이 도구는 UTF-8 기준으로 해석하며, UTF-8로 읽을 수 없는 데이터는 바이너리로 판단해 파일 저장을 안내합니다.
이미지를 Base64로 넣으면 좋은가요?
아이콘처럼 작은 이미지(수 KB)는 요청 수를 줄여 유리할 수 있지만, 큰 이미지는 크기가 33% 늘고 캐시가 어려워 오히려 느려집니다. 보통 10KB 이하에만 권장합니다.
줄바꿈이나 공백이 섞인 Base64도 디코딩되나요?
네. 공백과 줄바꿈은 자동으로 무시하고, URL-safe 문자(-, _)와 빠진 패딩(=)도 알아서 처리합니다.
파일 크기 제한이 있나요?
브라우저 메모리 안에서 처리하므로 파일→Base64 변환은 50MB까지 지원합니다.