본문으로 바로가기
바로계산
개발·보안

Base64 인코딩 디코딩

텍스트를 Base64로 바꾸거나 되돌립니다. 한글과 이모지도 정확히 처리합니다.

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

+ 와 / 를 - 와 _ 로 바꾸고 끝의 = 패딩을 뗍니다. URL이나 파일명에 넣을 때 씁니다.

Base64 인코딩 디코딩란?

Base64는 이진 데이터를 64개의 안전한 문자(A-Z, a-z, 0-9, +, /)로 바꾸는 인코딩입니다. 이메일 첨부파일, 데이터 URI, HTTP 기본 인증 헤더처럼 텍스트만 다룰 수 있는 곳에 이진 데이터를 실어 보낼 때 씁니다.

중요한 점은 Base64가 암호화가 아니라는 것입니다. 누구나 되돌릴 수 있는 공개된 변환이므로 비밀번호나 개인정보를 숨기는 용도로 쓰면 안 됩니다.

사용 방법

  1. 방향(인코딩 / 디코딩)을 고릅니다.
  2. 내용을 붙여 넣으면 즉시 변환됩니다.
  3. URL이나 파일명에 넣을 거라면 URL-safe 변형을 켜세요.
  4. 결과 복사 버튼으로 가져갑니다.

계산 방법

3바이트(24비트) → 6비트씩 4조각 → 4글자

예) '안' (UTF-8: EA B0 88)
    11101010 10110000 10001000
    111010 101011 000010 001000
    →  6      43     2      8
    →  6=G   43=r   2=C    8=I
    = 'GrCI'

길이가 3의 배수가 아니면 = 로 채운다
구분표준 Base64URL-safe 변형
62번 문자+-
63번 문자/_
패딩= 사용보통 생략
쓰이는 곳이메일, 데이터 URIURL, 파일명, JWT

Base64는 3바이트를 4글자로 바꾸므로 데이터 크기가 약 33% 늘어납니다. 압축이 아니라 표현 방식을 바꾸는 것이라 용량이 줄지 않습니다.

활용 예시

원본Base64
HelloSGVsbG8=
안녕7JWI64WV
AQQ==
ABQUI=
ABCQUJD

A 한 글자는 1바이트라 2개의 = 패딩이, AB는 2바이트라 1개의 패딩이 붙습니다. ABC는 정확히 3바이트라 패딩이 없습니다. 패딩 개수만 봐도 원본 길이를 짐작할 수 있습니다.

자주 묻는 질문

Base64는 암호화인가요?
아닙니다. 키 없이 누구나 되돌릴 수 있는 인코딩입니다. 비밀번호를 Base64로 바꿔 저장하는 것은 평문으로 저장하는 것과 같습니다. 암호화가 필요하면 AES 같은 암호 알고리즘을 쓰세요.
한글이 깨지는데요?
Base64 자체는 바이트만 다루므로 문자 인코딩을 먼저 정해야 합니다. 이 도구는 UTF-8을 쓰므로 한글과 이모지가 정확히 왕복합니다. 상대방 시스템이 EUC-KR을 쓴다면 결과가 다를 수 있습니다.
URL-safe는 언제 쓰나요?
Base64의 +와 /는 URL에서 특별한 뜻이 있어 그대로 넣으면 깨집니다. 쿼리 파라미터, 경로, 파일명에 넣을 때는 URL-safe 변형(-, _)을 씁니다. JWT 토큰도 이 방식을 씁니다.
패딩(=)을 떼도 되나요?
원본 길이를 계산할 수 있으므로 대부분의 디코더가 패딩 없이도 처리합니다. 이 도구도 패딩이 없는 입력을 자동으로 보정해 디코딩합니다.
이미지도 Base64로 바꿀 수 있나요?
가능하고 데이터 URI로 HTML에 직접 넣을 때 씁니다. 다만 용량이 33% 늘고 캐시가 되지 않아 작은 아이콘 정도에만 적합합니다. 이 도구는 텍스트 입력만 지원합니다.

참고 자료

계산 기준 · 텍스트를 UTF-8로 인코딩한 뒤 Base64로 변환합니다. URL-safe 변형은 + 와 / 를 - 와 _ 로 바꾸고 패딩을 제거합니다. 디코딩 시 URL-safe 입력과 패딩 누락, 공백을 자동으로 보정합니다.

개발·보안 더보기