Tools · Base64

Base64 인코더 · 디코더

텍스트·파일을 Base64로 인코딩하거나 디코딩합니다. 8비트 데이터를 ASCII 문자로 바꾸는 방식으로, MIME·JSON·Data URI·API에서 널리 씁니다. 아래 가이드에서 개요·E1L→RTFM 예시·64문자 변환 표도 확인할 수 있습니다. 모든 처리는 브라우저에서만 실행되며 서버로 전송·저장되지 않습니다.

텍스트 디코딩

Base64 문자열을 입력하고 디코딩하면 원문 텍스트가 아래에 표시됩니다.

입력 후 디코딩 버튼을 누르거나 라이브 모드를 켜세요.

파일

Base64 텍스트 파일을 디코딩해 다운로드하거나, 바이너리 파일을 Base64로 인코딩할 수 있습니다. (최대 100MB, 브라우저 메모리 한도 내)

파일 디코딩

.txt 등 Base64가 담긴 파일을 선택하세요.

파일 인코딩

이미지·문서 등 임의 파일 → Base64 텍스트(.txt) 다운로드

문자 · 전산 · 프로그래밍 · 진법

Base64 가이드

개요, 변환 예시, 64문자 표까지 정리했습니다. 상단 도구에서 바로 인코딩·디코딩할 수 있습니다.

1. 개요

Base64는 바이너리 데이터를 문자 코드(문자셋)에 영향받지 않는 공통 ASCII 문자로 표현하기 위해 만들어진 인코딩입니다. 네이버 지식iN·블로그 URL, JSON API, 이메일 첨부(MIME) 등에서 자주 보는 긴 영문·숫자 문자열이 이 형식인 경우가 많습니다.

ASCII 문자 하나가 64진법 숫자 하나를 뜻하기 때문에 Base64라는 이름이 붙었습니다. 알파벳 대·소문자(52자)와 숫자 0–9(10자)로 62자를 쓰고, 나머지 2자리는 보통 +/를 사용합니다.

8비트 바이트 3개를 24비트로 묶은 뒤 6비트씩 4조각으로 나누고, 각 조각을 Base64 코드(0~63)에 해당하는 문자로 바꿉니다. 결과는 보통 4글자 단위로 맞추며, 길이가 부족하면 = 패딩을 붙이기도 합니다.1

iOS 단축어·웹 도구로 대중화되었고, 사진·오디오를 Base64 문자열로 옮겼다가 다시 파일로 복원하는 방식도 흔합니다. Python base64, JavaScript, 리눅스 base64 명령 등 대부분의 환경에서 기본 지원합니다.

2. 예시

E1L을 Base64로 인코딩하는 과정입니다.

E 1 L (4번째)
바이트 0x45 0x31 0x4C
2진수 01000101 00110001 01001100
6bit→문자 R 17 T 19 F 5 M 12

24비트를 6비트씩 나누면 인덱스 17, 19, 5, 12RTFM. 디코딩은 역순입니다.

ManTWFu (3바이트 → 4문자).

Man is distinguished, not only by his reason, but ...
→ TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=
$ echo -n E1L | base64
RTFM
$ echo RTFM | base64 -d
E1L

3. Base64 변환 표

값 0~63과 문자의 대응 (표준: +, / · URL-safe: -, _).

문자문자문자문자
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 + (+/-)
15 P 31 f 47 v 63 / (/_)

4. URL-safe와 패딩

+·/·=는 URL·경로·쿼리에서 특별한 의미를 가질 수 있어3, 웹 주소용으로 -·_를 쓰는 URL-safe 변형이 많습니다.

패딩 =는 생략하기도 하며, 패딩 없이도 디코딩되는 경우가 많습니다.1

5. 어디에 쓰이나요

  • MIME·이메일 — 바이너리 첨부를 텍스트로 전송
  • JSON·API — 이미지·토큰을 문자열 필드에 저장
  • Data URIdata:image/png;base64,...
  • HTTP Basic — 인증 헤더

암호화가 아닙니다. 누구나 디코딩할 수 있습니다.

1 구현에 따라 패딩 =를 생략할 수 있습니다.

3 +, /, =는 URL에서 이스케이프·구분에 쓰일 수 있습니다.

FAQ

자주 묻는 질문

Base64는 암호화인가요?

아닙니다. 인코딩일 뿐이며 누구나 디코딩할 수 있습니다.

왜 3바이트가 4글자가 되나요?

24비트를 6비트×4조각으로 나누기 때문입니다. 용량은 약 33% 늘어납니다.

끝의 = 는 무엇인가요?

4글자 단위를 맞추는 패딩입니다.

입력이 서버에 저장되나요?

아닙니다. 브라우저에서만 처리합니다.