KO

Base64 인코더 / 디코더

Base64 인코딩이란?

Base64는 바이너리 데이터를 64개의 출력 가능한 ASCII 문자(대문자 A–Z 26개, 소문자 a–z 26개, 숫자 0–9 10개, 플러스 +와 슬래시 /)로 표현하는 이진-텍스트 인코딩 방식입니다. 패딩에는 등호(=)를 사용합니다. 원시 바이너리 바이트를 손상시킬 수 있는 텍스트 기반 프로토콜에서 바이너리 데이터를 안전하게 전송하기 위해 설계되었습니다. 현재는 CSS에 임베드된 data URI 이미지, Basic Auth 헤더, JWT 토큰, MIME 이메일 첨부파일, 바이너리 콘텐츠가 포함된 API 페이로드 등 웹 개발 전반에서 널리 사용됩니다.

현대 웹 개발에서 Base64가 가장 눈에 띄게 사용되는 곳은 data URI 형식입니다: data:image/png;base64,... — 추가 HTTP 요청 없이 HTML이나 CSS에 이미지를 직접 임베드할 때, 특히 작은 아이콘과 인라인 배경에 유용합니다. JWT(JSON Web Token)는 헤더와 페이로드 섹션에 + 대신 -, / 대신 _를 사용하는 Base64url 인코딩 변형을 사용합니다. Basic HTTP 인증은 Authorization 헤더에 자격증명을 Base64로 인코딩하여 전송합니다.

중요: Base64는 인코딩이지 암호화가 아닙니다. 누구든 키나 비밀번호 없이 Base64를 디코딩할 수 있으므로 기밀성은 전혀 제공되지 않습니다. 민감한 데이터를 보호하는 데 Base64를 사용하지 마세요. Base64는 데이터 크기를 약 33% 증가시킵니다: 3바이트가 4개의 Base64 문자로 변환됩니다. 이 도구는 표준 Base64(RFC 4648)를 지원합니다. 모든 인코딩과 디코딩은 브라우저 내에서 처리되며 데이터는 서버로 전송되지 않습니다.

자주 묻는 질문

Base64 인코딩이란 무엇인가요?
Base64는 바이너리 데이터를 64개의 출력 가능한 ASCII 문자(A-Z, a-z, 0-9, +, /)로 이루어진 문자열로 변환합니다. HTTP 헤더, 이메일, JSON 등 텍스트 기반 시스템에서 바이너리 데이터를 손상 없이 안전하게 전달할 수 있게 해 줍니다.
텍스트를 Base64로 인코딩하려면 어떻게 하나요?
입력 영역에 텍스트를 붙여넣고 인코딩을 선택하면 Base64 결과가 즉시 표시됩니다. 복사 버튼을 클릭해 코드나 설정 파일에 사용할 수 있도록 클립보드에 복사하세요.
Base64는 어디에 주로 사용되나요?
Base64는 CSS에서 data URI로 이미지 임베드, JWT 토큰 페이로드 인코딩, MIME 인코딩을 통한 이메일 첨부파일 전송, JSON API 응답의 바이너리 데이터 인코딩, Basic HTTP 인증 자격증명 전송 등에 사용됩니다.
Base64는 암호화의 일종인가요?
아닙니다. Base64는 순수한 인코딩 방식으로 키 없이 완전히 되돌릴 수 있습니다. Base64로 인코딩된 데이터를 받은 사람은 누구든지 즉시 디코딩할 수 있습니다. 비밀번호나 개인 데이터 같은 민감한 정보를 보호하는 데 Base64를 사용하지 마세요.
Base64 출력이 == 또는 =로 끝나는 이유는 무엇인가요?
= 문자는 패딩입니다. Base64는 3바이트를 한 번에 4개 문자로 인코딩합니다. 입력 길이가 3의 배수가 아닌 경우 마지막 그룹을 완성하기 위해 = 패딩 문자 1개 또는 2개가 추가됩니다.
Base64 출력은 원본보다 얼마나 커지나요?
Base64 출력은 원본 데이터보다 약 33% 더 커집니다. 입력 3바이트마다 출력 문자 4개가 생성되므로 1MB 바이너리 파일은 Base64 인코딩 후 약 1.33MB가 됩니다.
표준 Base64와 Base64url의 차이는 무엇인가요?
표준 Base64는 URL에서 특별한 의미를 가진 + 와 / 문자를 사용합니다. Base64url은 +를 -로, /를 _로 대체하여 URL과 파일명에서 직접 사용해도 안전합니다. JWT는 헤더와 페이로드 섹션에 Base64url을 사용합니다.