Base64 인코더 및 디코더
Base64는 텍스트, 이미지, PDF, 키 등 모든 데이터를 A–Z, a–z, 0–9, +, / 등 64개의 안전한 문자만 사용하여 나타내는 방법입니다. 이 도구는 텍스트와 파일을 Base64로 인코딩하고, Base64를 다시 읽을 수 있는 텍스트나 원본 파일로 디코딩합니다. 모든 변환은 브라우저에서 즉시 처리되며, 입력하거나 선택한 데이터는 서버로 업로드되지 않습니다.
주요 기능
- 텍스트를 Base64로 인코딩: 올바른 UTF-8 처리를 통해 모든 언어와 이모지를 지원합니다.
- Base64를 텍스트로 디코딩: 이메일이나 로그에서 복사할 때 흔히 발생하는 줄바꿈, 공백, 누락된 패딩(padding)을 허용하여 유연하게 처리합니다.
- Base64URL 모드: JWT, OAuth 및 다양한 웹 API에서 사용되는 URL 안전(URL-safe) 출력을 지원합니다.
- 파일을 Base64로 변환:
<img src>또는 CSSurl()에 바로 사용할 수 있는 완전한data:URL 출력 옵션을 제공합니다. - Base64를 파일로 변환: 이미지나 PDF와 같은 바이너리 콘텐츠인 경우, 디코딩된 데이터를 파일로 다운로드할 수 있습니다.
Base64 사용처
이메일 첨부파일. MIME 표준은 텍스트 기반 시스템에서 바이너리 파일이 손상 없이 전송되도록 첨부파일을 Base64로 인코딩합니다.
데이터 URL. 작은 아이콘이나 이미지를 data:image/png;base64,… 형태로 HTML이나 CSS에 직접 삽입하여 추가 네트워크 요청을 줄일 수 있습니다.
API 및 설정. 인증서, 암호화 키, 파일 업로드 등의 바이너리 데이터는 JSON 내에서 Base64 문자열로 전송되는 경우가 많습니다. 쿠버네티스(Kubernetes) 시크릿과 다양한 환경 변수 역시 값을 Base64로 저장합니다.
인증. HTTP 기본 인증은 username:password를 Base64로 인코딩하여 전송하며, JSON Web Token(JWT)은 Base64URL로 인코딩된 세 부분으로 구성됩니다. 토큰의 내용을 확인하려면 JWT 디코더를 사용하세요.
Base64 작동 원리
인코더는 입력 데이터를 3바이트(24비트)씩 가져와 4개의 6비트 그룹으로 나눕니다. 각 6비트 값(0~63)은 Base64 알파벳의 한 문자에 매핑됩니다. 입력 길이가 3의 배수가 아닐 경우, 출력 길이가 4의 배수가 되도록 끝에 하나 또는 두 개의 = 기호를 패딩(Padding)으로 추가합니다.
3바이트가 4개의 문자로 변환되기 때문에 Base64 데이터는 원본보다 크기가 약 33% 증가합니다. 이러한 용량 증가는 텍스트 전용 시스템에서 바이너리 데이터를 안전하게 전송하기 위해 발생하는 오버헤드입니다.
Base64는 URL 인코딩과 다릅니다. 쿼리 스트링에 임의의 텍스트를 포함해야 한다면 URL 인코드/디코드 도구를 사용하세요. 두 파일이 동일한지 확인하려면 해시 생성기를 사용하여 체크섬을 비교해 보세요.