🧰미니 도구 모음
🔐

Base64 인코더 / 디코더

텍스트·UTF-8 한글·이모지를 Base64로 양방향 변환. 이메일 첨부, JWT, 데이터 URL, API 인증에 활용.

인코딩디코딩

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 키·인증 토큰·민감 데이터도 안전합니다.

사용 방법

  1. 1인코딩할 텍스트를 입력창에 붙여넣거나 입력하세요.
  2. 2'인코딩' 버튼을 클릭하면 Base64 문자열로 변환됩니다.
  3. 3반대로 Base64 문자열을 입력하고 '디코딩'을 클릭하면 원본 텍스트로 복원됩니다.

활용 예시

  • 이미지 파일을 Base64로 인코딩하여 CSS에 삽입
  • API 인증 토큰(Basic Auth) 생성
  • 이메일 첨부파일 인코딩
  • HTML에 바이너리 데이터 포함

자주 묻는 질문

Q. Base64란 무엇인가요?

A. 바이너리 데이터를 ASCII 텍스트로 변환하는 인코딩 방식입니다. 이진 데이터를 텍스트 기반 시스템에서 안전하게 전송할 때 사용합니다.

Q. 한글도 인코딩/디코딩되나요?

A. 네, UTF-8 기반으로 한글을 포함한 모든 유니코드 문자를 처리합니다.