Base64 인코더 / 디코더

텍스트와 Base64를 서로 변환합니다. UTF-8을 지원합니다.

Loading…

모든 처리는 브라우저 내부에서 실행됩니다 — 파일·입력은 서버로 전송되지 않습니다.

사용법

입력 패널 상단에서 Encode / Decode를 전환하고 텍스트를 붙여 넣으면 출력 패널에 결과가 실시간으로 반영됩니다. 인코더는 UTF-8 텍스트를 받아 한국어·일본어·이모지도 깔끔하게 왕복합니다. 디코더는 표준 Base64(A–Z·a–z·0–9·+·/·= 문자 집합)를 받아 원래 텍스트를 돌려줍니다.

텍스트 전용 필드에 바이너리 성격의 데이터를 넣어야 할 때 사용합니다. 인라인 이미지의 data URI, YAML 시크릿 페이로드, HTTP Basic 인증 헤더 같은 경우가 여기에 해당합니다. 처리는 모두 브라우저 내의 네이티브 btoa·atob·TextEncoder·TextDecoder API로 완결되므로 입력이 페이지 밖으로 나가지 않습니다.

예제

Basic 인증 헤더 인코드

입력
alice:s3cret
출력
YWxpY2U6czNjcmV0

HTTP Basic 인증은 `user:pass`를 이어 붙여 Base64로 인코딩합니다. `Authorization` 헤더 값으로 쓸 때는 앞에 `"Basic "`를 붙입니다.

UTF-8 텍스트 왕복

입력
안녕 こんにちは 🌏
출력
7JWI64WV44GT44KT44Gr44Gh44GvIPCfjI8=

비 ASCII 텍스트는 먼저 UTF-8로 부호화되므로 글자당 2~4바이트가 됩니다. 출력은 입력 대비 약 4/3배 길어집니다.

data URI 본문 디코드

입력
SGVsbG8sIHdvcmxkIQ==
출력
Hello, world!

"data:text/plain;base64," 접두어는 떼고 붙여 넣으세요. 이 도구는 Base64 본문만 디코드합니다.

자주 묻는 질문

JWT 세그먼트를 디코드하면 실패하는 이유는?

JWT는 base64url이라는 변종을 사용합니다. +를 -로, /를 _로 바꾸고 끝의 = 패딩을 생략합니다. 표준 Base64로는 바로 읽을 수 없습니다. 문자를 되돌리고 패딩을 채워 넣거나, base64url을 그대로 다루는 [JWT 디코더](/ko/jwt-decoder/)를 사용하세요.

바이너리 파일(이미지·PDF)도 인코드되나요?

직접은 안 됩니다. 이 도구는 텍스트 입력·텍스트 출력입니다. 파일을 다루려면 브라우저 DevTools콘솔에서 FileReader.readAsDataURL을 쓰거나, 파일 대응 Base64컨버터를 사용하세요. 인코드 로직은 동일하고 입력 처리만 다릅니다.

Base64는 암호화인가요?

아니요. Base64는 키 없이 누구나 복호화할 수 있는 가역 인코딩입니다. 임의의 바이트열을 텍스트만 통과하는 경로(메일 본문, JSON 문자열, URL)에 실어 보내기 위한 장치이며, 내용을 숨기는 용도가 아닙니다. 비밀 보호에는 사용하지 마세요.

인코딩 결과 끝에 `=`가 1~2개 붙는 이유는?

Base64는 입력 3바이트를 출력 4글자에 담습니다. 입력 길이가 3의 배수가 아닐 때 마지막 그룹을 =로 채워 출력이 항상 4의 배수가 되도록 맞춥니다. 끝의 =가 1개면 마지막 그룹이 입력 2바이트, 2개면 1바이트입니다.

PEM·MIME 형식의 줄바꿈이 들어간 Base64도 처리되나요?

디코드 측은 지원합니다. atob가 공백을 허용하므로 PEM본문이나 MIME에서 줄바꿈이 들어간 Base64도 문제없이 디코드됩니다. 인코드 측은 줄바꿈 없이 한 줄로 출력합니다. 64글자 줄바꿈이 필요하면 수동으로 자르거나 PEM전용 도구를 거치세요.

관련 개념

Base64는 바이너리 데이터 3바이트마다 64글자 알파벳(A–Z·a–z·0–9·+·/)에서 뽑은 4글자 ASCII로 매핑하고, 필요할 때 =를 패딩으로 사용합니다. 결과는 입력보다 약 33% 커지지만 텍스트만 통과하는 경로에서도 깨지지 않는 글자로만 구성됩니다. 1992년 MIME이 메일 첨부용으로 정의한 목적에 정확히 들어맞습니다.

실무에서는 세 가지 변종이 중요합니다. 표준 Base64(RFC 4648 §4)는 +와 /를 사용합니다. URL 안전한 base64url(RFC 4648 §5)은 -와 _로 바꿔 URL이나 파일명에 추가 이스케이프 없이 넣을 수 있게 하고, 보통 = 패딩을 생략합니다. JWT나 JWS가 채택한 형식입니다. MIME Base64는 구식 메일 전송을 위해 76글자에서 줄을 바꿉니다. 인코딩은 암호화가 아닙니다. 복호화에 키가 필요 없고 기계적으로 수행됩니다. 비밀이 필요한 데이터에는 진짜 암호를 쓰고, Base64는 그 암호문을 텍스트 경로로 실어 나르는 용도로만 사용하세요.

관련 글

관련 도구