본문으로 건너뛰기
yutils
예시

입력 (인코딩 모드)

안녕하세요 yutils 👋

출력

7JWI64WV7ZWY7IS47JqUIHl1dGlscyDwn5GL

참고

UTF-8 기반 인코딩이므로 한글·이모지가 그대로 복원됩니다. 결과 문자열은 ASCII 안전 — 이메일·HTTP 헤더·JSON에 그대로 실어 보낼 수 있습니다.

사용법 / 자주 묻는 질문

이런 경우 사용하세요

  • API 응답에 박힌 Base64 문자열을 사람이 읽을 수 있는 텍스트로 풀어보기
  • 이메일·HTTP 헤더에 ASCII 외 문자를 안전하게 실어 보낼 때 인코딩
  • Basic Auth 헤더용 `username:password` 문자열 생성
  • 한글·이모지 등 멀티바이트 문자를 UTF-8로 안전하게 변환
  • `data:` URI 스킴 이미지 안에 담긴 페이로드 살펴보기

자주 묻는 질문

Q.브라우저의 btoa / atob과 뭐가 다른가요?
A.JS 내장 btoa / atob은 latin-1 범위만 처리해서 한글·이모지 입력은 깨집니다. yutils는 TextEncoder / TextDecoder를 사용해 UTF-8 왕복을 안전하게 보장합니다.
Q.결과를 그대로 URL에 넣어도 되나요?
A.표준 Base64에는 `+` `/` `=`가 들어가서 URL 규약과 충돌합니다. URL 안전 인코딩이 필요하면 Base64URL(JWT가 쓰는 방식)을 쓰거나 결과를 URL Encode 도구에 한 번 더 통과시키세요.
Q.Base64가 암호화인가요?
A.아닙니다. Base64는 가역적인 인코딩 방식일 뿐 누구나 디코딩할 수 있습니다. 비밀번호·시크릿 보호가 필요하면 SHA-256·bcrypt·HMAC 도구를 쓰세요.
재미있는 사실
  • Base64의 `64`는 출력 alphabet 크기입니다. 6비트 정수(2⁶=64)가 비트 시프트로 깔끔하게 떨어지는 sweet spot이라 정해졌습니다. 만약 Base65였다면 6비트로 표현이 안 되어 모든 디코더 코드가 훨씬 복잡해졌을 거예요.

    RFC 4648
  • Base64로 인코딩하면 데이터가 약 33% 커집니다. 3바이트(24비트)가 4글자(각 6비트)가 되니까요. 즉, 1 MB 이미지를 Base64로 인라인하면 약 1.33 MB가 됩니다 — `data:` URI 이미지가 의외로 무거운 이유.

    Wikipedia — Base64
  • Base64는 1987년 이메일 표준 PEM(Privacy-Enhanced Mail, RFC 989)에서 처음 등장했습니다. SMTP 시대에 ASCII가 아닌 바이트(이미지·한글 등)를 7비트 ASCII 채널로 안전하게 통과시키기 위해 발명됐고, 그 본질은 지금도 변함없습니다.

    RFC 989 (1987)