Base64 인코더 / 디코더
완전한 UTF-8 지원으로 Base64를 인코딩·디코딩
이 도구에 대하여
이 Base64 도구는 텍스트를 Base64로 인코딩하고 Base64를 다시 텍스트로 디코딩하며, 전부 브라우저에서 처리됩니다. Base64는 임의의 이진 데이터를 인쇄 가능한 64개의 ASCII 문자만으로 표현하므로, 이메일·JSON·URL처럼 텍스트를 전제로 한 시스템을 안전하게 통과할 수 있습니다. 개발자는 데이터 URI, 이미지 삽입, 기본 인증 헤더, JWT 토큰 등에 사용합니다. 인코더는 UTF-8을 인식하므로 악센트 문자, 이모지, 비라틴 문자도 올바르게 왕복합니다.
사용 방법
- 1 텍스트를 Base64로 바꾸려면 인코딩을, 다시 읽으려면 디코딩을 선택합니다.
- 2 입력란에 텍스트를 입력하거나 붙여 넣습니다.
- 3 변환 결과가 입력란 아래에 즉시 표시됩니다.
- 4 복사 버튼으로 결과를 복사하거나 바꾸기로 방향을 반전합니다.
작동 원리
Base64는 입력 바이트를 6비트 단위로 나눕니다. 6비트는 64개의 값을 인코딩하므로 각 그룹은 A-Z, a-z, 0-9와 + 및 /로 이루어진 알파벳(총 64자) 중 한 문자에 대응됩니다. 3바이트(24비트)가 4개의 Base64 문자가 되므로 출력은 입력보다 약 3분의 1 큽니다. 바이트 수가 3의 배수가 아니면 = 기호를 1~2개 패딩으로 추가합니다. 디코딩은 이 과정을 역으로 진행합니다. 텍스트는 먼저 UTF-8 바이트로 변환되므로 "Hello"는 SGVsbG8=가 되고 멀티바이트 문자도 정확히 보존됩니다.
자주 묻는 질문
Base64는 암호화인가요?
아닙니다. Base64는 가역적인 인코딩이며 암호화가 아닙니다. 누구나 디코딩할 수 있으므로 비밀을 보호하는 데 사용하지 말고, 그럴 때는 진짜 암호 기술을 쓰세요.
왜 "Hello"는 SGVsbG8=가 되나요?
"Hello"의 5바이트가 6비트 블록으로 재구성되어 Base64 문자에 대응되며, 5바이트는 3의 배수가 아니므로 = 하나로 패딩됩니다.
왜 출력이 입력보다 긴가요?
Base64는 3바이트마다 4문자로 바꾸어 크기를 약 33% 늘립니다. 이 오버헤드는 이진 데이터를 텍스트로 안전하게 만드는 대가입니다.
이모지와 비영어 텍스트도 처리하나요?
네. 입력은 먼저 UTF-8로 인코딩되므로 이모지, 악센트, 일본어나 아랍어 같은 문자도 손상 없이 인코딩·디코딩됩니다.
관련 도구와 활용
웹 주소 안의 텍스트를 이스케이프하려면 URL 인코더를 사용하세요. 문자 코드 포인트를 살펴보려면 ASCII / Unicode 변환기를, 비트와 16진수 값은 진법 변환기를 참고하세요.