Base64 인코더·디코더 (UTF-8 지원)

  • 무료
  • 가입 불필요
  • 브라우저에서 실행
  • 마지막 업데이트 2026-10-07
문제 신고

텍스트를 Base64로 바꾸고 다시 되돌립니다. 한글이나 이모지 같은 유니코드 텍스트도 정확하게 처리됩니다.

입력한 내용은 브라우저 안에서만 처리되며 서버로 전송되지 않습니다.

사용 방법

  1. 인코딩할 텍스트나 디코딩할 Base64 문자열을 입력창에 입력하거나 붙여 넣습니다.
  2. 인코딩 또는 디코딩을 누릅니다. 결과를 URL이나 JWT 같은 토큰에 넣을 경우 URL-safe 출력을 체크하세요.
  3. 결과를 복사합니다. 디코딩에 실패하면 입력이 Base64가 아닌지, UTF-8 텍스트가 아닌지 알려 줍니다.

예시

Hello
→ SGVsbG8=
인코딩 결과입니다. 끝의 =는 패딩입니다.
안녕
→ 7JWI64WV
인코딩 결과입니다. 한글 한 글자는 UTF-8에서 3바이트이므로 6바이트가 Base64 8글자가 됩니다.
SGVsbG8
→ Hello
디코딩 결과입니다. 패딩이 빠져 있어도 받아들입니다.

계산 방식

텍스트는 먼저 UTF-8로 바이트가 되고, 3바이트마다 A-Z, a-z, 0-9, +, /로 이루어진 4글자로 적힙니다. 마지막 묶음이 모자라면 = 문자로 채웁니다.

먼저 UTF-8을 거치기 때문에 영어가 아닌 텍스트도 올바르게 처리됩니다. 브라우저의 기본 btoa 함수는 1바이트 문자만 다룰 수 있어서 한글 같은 텍스트는 이 과정 없이는 실패합니다.

디코딩은 그 반대입니다. 입력의 공백은 무시하고, URL-safe 문자는 +와 /로 되돌리고, 빠진 패딩은 채운 뒤, 나온 바이트가 올바른 UTF-8 텍스트여야 합니다.

출처

자주 묻는 질문

Base64는 암호화인가요?
아니요. Base64는 바이트를 텍스트로 적는 방식일 뿐입니다. 누구나 디코딩할 수 있으므로 비밀을 보호하는 용도로 쓰면 안 됩니다.
Base64 텍스트가 원본보다 긴 이유는 무엇인가요?
Base64는 3바이트를 4글자로 바꾸기 때문에 결과가 입력보다 약 3분의 1 깁니다.
URL-safe Base64는 무엇인가요?
+를 -로, /를 _로 바꾸고 보통 끝의 = 패딩도 생략해서, 이스케이프 없이 URL과 파일 이름에 쓸 수 있게 한 형식입니다. 디코더는 두 형식을 모두 받아들입니다.
디코딩하면 UTF-8이 아니라고 나오는 이유는 무엇인가요?
입력은 올바른 Base64지만 그 안의 바이트가 텍스트가 아닌 경우입니다. 예를 들어 이미지나 압축 파일이 그렇습니다. 이 도구는 텍스트로만 디코딩합니다.
입력한 텍스트가 업로드되나요?
아니요. 인코딩과 디코딩은 브라우저 안에서만 실행되며 텍스트는 서버로 전송되지 않습니다.

마지막 업데이트: