1. 홈
  2. 개발자
  3. Base64 인코더·디코더

Base64 인코더·디코더

한글도 깨지지 않는 Base64 변환, URL-safe와 파일 → Data URI까지.

내 브라우저에서 처리 · 업로드 없음 오프라인 동작
Base64 결과
7JWI64WV7ZWY7IS47JqULCBUb29sdWxhaCEg8J+Riw==
입력 (UTF-8 바이트)
31
결과 길이
44자
크기 변화
+41.9%

파일 → Base64 / Data URI

또는 이 영역에 파일을 끌어다 놓으세요. 최대 10MB, 파일은 업로드되지 않습니다.

텍스트와 파일은 모두 브라우저 안에서만 변환되며 서버로 전송되지 않습니다.

사용 방법

  1. 인코딩을 고르고 텍스트를 입력하면 Base64 결과가 바로 나옵니다. 한글·이모지는 UTF-8 바이트로 바꾼 뒤 인코딩합니다.
  2. 디코딩을 고르고 Base64 문자열을 붙여넣으면 원래 텍스트로 돌려줍니다. 줄바꿈, 패딩(=) 생략, URL-safe 문자(-_)가 섞여 있어도 자동으로 처리합니다.
  3. 주소나 파일 이름에 넣을 값이라면 URL-safe를 켜세요. +·/ 대신 -·_를 쓰고 끝의 =를 뺍니다.
  4. 아래 파일 → Base64 영역에서 이미지 등 파일(최대 10MB)을 Base64나 data: URI로 바꿀 수 있습니다.

Base64 원리

Base64(RFC 4648)는 바이트 3개(24비트)를 6비트씩 4조각으로 나눠 64개 문자로 표현합니다. 그래서 결과는 원본보다 약 33% 커지고, 길이가 3의 배수가 아니면 끝을 =로 채웁니다.

구분 사용 문자 패딩 쓰는 곳
표준 Base64 A–Z a–z 0–9 + / = 있음 이메일 첨부(MIME), Data URI, HTTP Basic 인증
URL-safe (base64url) A–Z a–z 0–9 - _ 보통 생략 JWT, URL 파라미터, 파일 이름

실제 예시

입력 UTF-8 바이트 Base64
Hi 2 SGk=
한 3 (ED 95 9C) 7ZWc
안녕하세요 👋 20 7JWI64WV7ZWY7IS47JqUIPCfkYs=

한글은 1자에 3바이트, 이모지는 4바이트라서 같은 글자 수라도 영문보다 Base64가 훨씬 길어집니다.

주의할 점

  • Base64는 암호화가 아닙니다. 누구나 바로 되돌릴 수 있으므로 비밀번호나 키를 숨기는 용도로 쓰면 안 됩니다. 무결성 확인이 필요하면 해시 생성기를 쓰세요.
  • 디코딩 결과가 UTF-8 텍스트가 아니면(이미지·PDF 등) 앞부분 바이트를 보여주고 바이너리 파일로 저장할 수 있게 합니다.
  • 큰 이미지를 Data URI로 HTML·CSS에 넣으면 캐시가 안 되고 문서가 무거워집니다. 수 KB 이하의 아이콘 정도에만 권장됩니다.

자주 묻는 질문

다른 사이트에서 디코딩하면 한글이 깨지는 이유는?

브라우저 기본 함수 btoa/atob는 1바이트 문자(Latin-1)만 다뤄서 한글을 그대로 넣으면 오류가 나거나 깨집니다. 이 도구는 TextEncoder/TextDecoder로 UTF-8 바이트를 정확히 변환합니다.

입력한 내용이나 파일이 업로드되나요?

아니요. 변환은 모두 브라우저 안에서 이뤄지고 네트워크로 아무것도 보내지 않습니다. 인증 토큰이나 사내 파일도 안전하게 변환할 수 있습니다.

JWT 안의 내용을 보고 싶어요.

JWT의 각 부분은 base64url로 인코딩된 JSON입니다. JWT 디코더를 쓰면 헤더·페이로드를 나눠서 만료 시각까지 보여줍니다.

준비 중인 도구

필요한 도구가 없나요?

어떤 작업을 하고 싶은지 적어 주세요. 요청이 많은 도구부터 만듭니다.