Base64 인코딩/디코딩
텍스트를 Base64로 인코딩하거나 Base64 문자열을 디코딩합니다.
Base64 인코딩/디코딩 도구는 텍스트를 Base64 형식으로 변환하거나, Base64 문자열을 원래 텍스트로 복원합니다. 한글 등 유니코드 문자도 UTF-8 인코딩을 통해 정확하게 처리합니다. API 통신, 이메일 첨부파일, 데이터 URI 스킴 등에서 바이너리 데이터를 텍스트로 전송해야 할 때 Base64 인코딩이 사용됩니다.
텍스트 입력
20자Base64 결과
principle
계산 원리
Base64 인코딩은 이진 데이터를 6비트 단위로 분할하여 64개의 인쇄 가능한 ASCII 문자로 매핑하는 방식입니다. 인코딩 테이블은 A-Z(0~25), a-z(26~51), 0-9(52~61), +와 /(62~63)로 구성됩니다. 입력 3바이트(24비트)를 6비트씩 4개로 나누어 각각 대응하는 문자로 변환합니다. 이 과정에서 데이터 크기가 원본 대비 4/3배(약 33%)로 증가합니다.
Base64의 수학적 원리는 진법 변환과 유사합니다. 8비트 단위의 256진법(바이트)을 6비트 단위의 64진법으로 변환하는 것입니다. 3바이트 = 24비트 = 4×6비트이므로, 3바이트가 정확히 4개의 Base64 문자에 대응합니다. 입력 길이가 3의 배수가 아닌 경우, 남는 비트를 0으로 채우고 출력에 패딩 문자(=)를 추가하여 4의 배수 길이를 맞춥니다.
Base64는 RFC 4648에서 표준화되었으며, 변형으로 Base64URL(+→-, /→_, 패딩 생략), Base32(5비트, 32문자), Base16(4비트, 16진수)이 정의되어 있습니다. Base64의 정보 효율은 6/8 = 75%로, 원본 대비 33%의 오버헤드가 발생하지만 텍스트 전용 프로토콜에서 바이너리 안전 전송을 보장합니다.
faq
자주 묻는 질문
cases
실생활 예시
API 토큰 인코딩
HTTP Basic Authentication에서 username:password를 Base64로 인코딩하여 Authorization 헤더에 포함시킵니다.
Base64 인코딩/디코딩 도구로 토큰을 빠르게 생성하고 검증할 수 있습니다.
이미지 Data URI 변환
작은 아이콘이나 로고를 Base64로 인코딩하여 data:image/png;base64,... 형태로 HTML/CSS에 직접 삽입합니다. 별도 이미지 파일 요청 없이 페이지를 렌더링할 수 있습니다.
작은 이미지를 Data URI로 변환하면 HTTP 요청 수를 줄여 페이지 로딩 속도를 개선할 수 있습니다.
JWT 토큰 디코딩
JWT(JSON Web Token)는 헤더.페이로드.서명 구조로, 헤더와 페이로드가 Base64URL로 인코딩되어 있습니다. 디코딩하면 토큰에 담긴 사용자 정보와 만료 시간을 확인할 수 있습니다.
Base64 디코딩으로 JWT의 내용을 빠르게 확인하여 인증 문제를 디버깅할 수 있습니다.
이메일 첨부파일 인코딩
MIME 이메일 규격에서 첨부파일은 Base64로 인코딩되어 전송됩니다. 텍스트 기반 프로토콜인 SMTP를 통해 바이너리 파일(이미지, PDF 등)을 안전하게 전달합니다.
Base64는 텍스트 전용 프로토콜에서 바이너리 데이터를 전송하는 표준 방식입니다.
glossary
용어 사전
- Base64
- 바이너리 데이터를 64개의 인쇄 가능한 ASCII 문자(A-Z, a-z, 0-9, +, /)로 표현하는 인코딩 방식입니다.
- 패딩 (Padding)
- Base64 출력을 4문자 단위로 맞추기 위해 끝에 추가하는 = 문자입니다. 입력 길이가 3의 배수가 아닐 때 사용됩니다.
- Base64URL
- URL에서 안전하게 사용하기 위한 Base64 변형으로, +를 -로, /를 _로 대체하고 패딩을 생략합니다.
- Data URI
- data: 스킴을 사용하여 파일 데이터를 URL 형태로 인라인 삽입하는 방식으로, Base64 인코딩된 데이터를 포함합니다.
- MIME (Multipurpose Internet Mail Extensions)
- 이메일에서 텍스트 외의 데이터(이미지, 첨부파일 등)를 전송하기 위한 규격으로, Base64 인코딩을 사용합니다.
- UTF-8
- 유니코드 문자를 1~4바이트의 가변 길이로 인코딩하는 방식으로, 한글은 한 글자당 3바이트를 사용합니다.
- JWT (JSON Web Token)
- 인증 정보를 JSON 형태로 담아 Base64URL로 인코딩한 토큰으로, 헤더.페이로드.서명의 세 부분으로 구성됩니다.
next tools