NB Developer Tools · 무료 도구 · Base64 인코딩·디코딩

Base64 인코딩·디코딩

API 헤더, 데이터 URI, 설정 파일에서 Base64 문자열을 자주 만납니다. 텍스트를 넣으면 방향을 자동으로 감지해 인코딩하거나 되돌립니다.

Base64 인코딩·디코딩 바로 열기

이렇게 씁니다

  1. 텍스트 칸에 인코딩하거나 디코딩할 내용을 넣습니다.
  2. 방향을 고릅니다 — 자동 감지 · 인코딩 · 디코딩.
  3. 실행하기를 누르면 결과가 나옵니다.

동작 방식

인코딩 : 텍스트 → UTF-8 바이트 → Base64 문자열
디코딩 : Base64 문자열 → UTF-8 바이트 → 텍스트

[자동 감지 판정]
  A-Z a-z 0-9 + / = 로만 되어 있고 길이가 4의 배수면 → 디코딩
  그 외 → 인코딩

[크기]
  Base64 는 3바이트를 4문자로 바꾼다 → 길이가 약 4/3(≈133%)로 늘어난다
  용량을 줄이는 기술이 아니다. '바이너리를 텍스트로 실어 보내는' 포장 방식이다

한글은 한 글자가 UTF-8 에서 3바이트다. 이 도구는 TextEncoder 로 UTF-8 바이트를 만든 뒤 인코딩하므로 한글·이모지가 깨지지 않는다. (브라우저의 `btoa()` 를 한글에 그냥 쓰면 오류가 난다 — 그게 흔한 사고다.)

결과 읽는 법

  • 디코딩 결과가 깨진 글자로 나오면 원본이 UTF-8 이 아니거나 Base64 가 아닌 문자열입니다.
  • URL 에 넣을 때는 `+` 와 `/` 가 문제가 됩니다. URL-safe Base64(`-` `_`)로 바꿔야 하는 경우가 있습니다.
  • 끝의 `=` 는 자릿수 맞추기용 패딩입니다. 없어도 디코딩되는 구현이 많습니다.

주의할 점

  • **Base64 는 암호화가 아닙니다.** 누구나 되돌릴 수 있습니다. 비밀번호·토큰을 Base64 로 '가려서' 저장하면 안 됩니다.
  • 아주 긴 텍스트는 브라우저 메모리를 많이 씁니다.

자주 묻는 질문

Base64 인코딩이 뭔가요?

바이너리나 텍스트를 A-Z a-z 0-9 + / 문자만으로 표현하는 방식입니다. 텍스트만 오갈 수 있는 곳(메일 헤더, 데이터 URI)에 데이터를 실어 보낼 때 씁니다.

한글이 깨지는데요?

브라우저 기본 함수 `btoa()` 는 한글을 처리하지 못합니다. 이 도구는 UTF-8 바이트로 먼저 바꾸므로 한글·이모지가 안전합니다.

Base64 로 만들면 안전해지나요?

아니요. 암호화가 아니라 표현 방식이라 누구나 즉시 되돌릴 수 있습니다.

왜 용량이 늘어나나요?

3바이트를 4문자로 바꾸기 때문입니다. 약 33% 커집니다.

Base64 인코딩·디코딩 열기 — 무료 · 설치 없음

NB Developer Tools의 다른 도구

NB 무료 도구 모음

설치·가입 없이 브라우저에서 바로 쓰는 무료 도구들입니다.