본문으로 건너뛰기
ToolMug

Base64 인코더 & 디코더

텍스트나 모든 종류의 파일을 Base64로 변환하거나, Base64를 읽을 수 있는 텍스트나 원본 파일로 디코딩하세요. UTF-8을 올바르게 처리하고, JWT에 쓰이는 URL-safe 방식을 지원하며, 모든 작업이 브라우저 안에서 이루어져요.

브라우저에서 실행 — 입력한 내용은 업로드되지 않아요

사용 방법

  1. '인코딩' 또는 '디코딩'을 고르세요.
  2. 인코딩하려면 텍스트를 입력하거나, '파일'로 바꿔 이미지, PDF, 폰트 등 원하는 파일을 선택하세요.
  3. URL-safe 문자, 패딩, data URL 출력 같은 옵션을 고르세요.
  4. 결과를 복사하세요. 이미지 같은 바이너리 데이터를 디코딩했다면 파일로 다운로드하세요.

옵션 설명

URL-safe
+와 /를 -와 _로 바꿔서(RFC 4648 §5) 결과를 URL이나 파일 이름에 넣을 수 있게 해요. JWT는 패딩 없이 이 형식을 사용해요.
패딩
끝에 =를 붙여 길이를 4의 배수로 맞춰요. 필수인 시스템도 있고, JWT처럼 생략하는 경우도 있어요. 디코더는 두 가지 모두 받아들여요.
76자마다 줄바꿈
출력을 76자 단위의 줄로 나눠요. 이메일(MIME)과 PEM 파일에서 요구하는 형식이에요.
data URL
data:image/png;base64,… 형태로 출력해 HTML이나 CSS의 이미지 소스에 바로 붙여넣을 수 있어요.

예시

입력 Base64
hello aGVsbG8=
hello (URL-safe, 패딩 없음) aGVsbG8
안녕 7JWI64WV
바이트 FB FF BF +/+/ (표준) 또는 -_-_ (URL-safe)

JWT 페이로드 디코딩

JWT는 점으로 구분된 세 부분으로 이루어져 있어요. 가운데 부분이 패딩 없는 URL-safe Base64이므로, ’디코딩’에 붙여넣으면 클레임을 읽을 수 있어요. 여기서는 서명을 검증하지 않으니, 디코딩된다고 해서 토큰을 신뢰하지는 마세요.

자주 묻는 질문

Base64는 암호화인가요?

아니요. Base64는 누구나 되돌릴 수 있는 인코딩으로, 바이트를 출력 가능한 64개 문자로 표현할 뿐이에요. 비밀번호나 비밀 정보를 숨기는 용도로 절대 쓰지 마세요.

Base64 텍스트가 왜 원본보다 길어지나요?

3바이트가 4개 문자가 되므로 Base64는 약 33% 커지고, 줄바꿈을 켜면 줄바꿈 문자만큼 더 늘어나요.

디코딩하면 글자가 깨지거나 바이너리 데이터라는 오류가 나는 이유는 뭔가요?

Base64 안에 UTF-8 텍스트가 아닌 바이트가 들어 있기 때문이에요. 보통 이미지, zip, 암호화된 데이터예요. '디코딩된 파일 다운로드'를 사용하세요. 흔한 이미지 형식은 자동으로 감지해 그에 맞는 파일 이름을 붙여요.

CSS나 HTML에 이미지를 넣으려면 어떻게 하나요?

'파일'로 바꾸고 'data URL로 출력'을 체크한 뒤 이미지를 선택하고, 결과를 src="…"나 url(…)에 붙여넣으세요. 작은 아이콘에 가장 적합하며, 큰 이미지는 페이지를 느리게 만들어요.

한글, 중국어, 이모지 같은 비영어 텍스트도 처리되나요?

네. 텍스트는 인코딩 전에 UTF-8 바이트로 변환돼요. btoa(unescape(encodeURIComponent(…)))나 Python의 base64.b64encode(s.encode())와 같은 방식이에요.

개인정보 보호

이 도구는 전적으로 브라우저에서 실행돼요. 파일과 텍스트는 기기에서 처리되며 서버로 업로드되지 않아요.

관련 도구