GroundHaus

Base64 인코더 / 디코더

텍스트를 Base64로 인코딩하거나 디코딩합니다.

결과가 여기 표시됩니다.

이게 뭔가요?

Base64는 이진 데이터나 텍스트를 알파벳·숫자·+·/ 64개 문자로만 표현하는 인코딩 방식입니다. 이 도구는 평문을 Base64로 바꾸거나, 반대로 Base64 문자열을 원래 텍스트로 되돌립니다. 한글처럼 여러 바이트를 쓰는 문자도 UTF-8 기준으로 정확히 처리합니다. 인코딩 결과는 원본보다 약 33% 길어지는 대신, 텍스트만 허용되는 곳(이메일 본문, JSON 필드, 데이터 URI 등)에 이진 데이터를 안전하게 실어 보낼 수 있습니다.

언제 쓰나요?

이미지를 CSS나 HTML에 인라인으로 넣는 데이터 URI를 만들 때, HTTP Basic 인증 헤더(Authorization: Basic ...)를 확인할 때, JWT의 페이로드를 눈으로 뜯어볼 때, 또는 API가 base64로 인코딩된 값을 돌려줬을 때 그 안을 확인하려고 씁니다.

실무에서 자주 틀리는 점

실무에서 — 작은 로딩 스피너 아이콘을 여러 페이지에서 쓰는데 매번 별도 요청이 나가는 게 아까워, PNG를 Base64 data URI로 만들어 CSS에 인라인한 적이 있다. 반대로 어떤 외부 API가 Basic 인증을 요구해서 Authorization: Basic ... 헤더 값을 디코딩해 보니 아이디:비밀번호가 그대로 보였고, 그때 “Base64는 인코딩이지 암호화가 아니다”를 팀에 다시 각인시켰다.

자주 묻는 질문

Base64는 암호화인가요?

아니요. Base64는 누구나 즉시 되돌릴 수 있는 인코딩일 뿐 암호화가 아닙니다. 비밀번호나 토큰을 숨기는 용도로 쓰면 안 됩니다.

한글도 깨지지 않고 처리되나요?

네. 한글처럼 여러 바이트를 쓰는 문자도 UTF-8 기준으로 정확히 인코딩·디코딩합니다. 모든 처리는 브라우저 안에서 이뤄져 서버로 전송되지 않습니다.

JWT를 디코딩했더니 깨집니다.

JWT는 일반 Base64가 아니라 URL-safe 변형(base64url)을 씁니다. +·/ 대신 -·_ 를 쓰고 패딩(=)을 빼기 때문에, 둘을 섞으면 디코딩이 깨질 수 있습니다.