Base64 인코더ㆍ디코더

텍스트와 파일을 Base64로 인코딩ㆍ디코딩합니다. 붙여넣으면 인코딩 여부를 자동으로 판별합니다.

입력
결과

Base64란?

Base64는 바이너리 데이터를 ASCII 문자(A-Z, a-z, 0-9, +, /)만 사용해 표현하는 인코딩 방식입니다. 이메일, 데이터 URI, JWT, API 응답 등에 널리 쓰입니다.

Smart Input Detection

텍스트를 붙여넣을 때 Base64 형태(허용 문자 + 길이가 4의 배수)인지 판단해 자동으로 디코딩 모드로 전환합니다.

안전성

입력한 텍스트와 파일은 브라우저에서만 처리되며 서버로 전송되지 않습니다. 민감한 토큰이나 자격 증명도 안심하고 다룰 수 있습니다.

인코딩의 실제 동작 원리

Base64는 3바이트(24비트)씩 입력을 받아 6비트씩 4개로 쪼갠 뒤, 각각을 인쇄 가능한 ASCII 문자 하나로 대응시킵니다. 문자 집합은 RFC 4648에 정의되어 있습니다. 입력 길이가 3의 배수가 아니면 결과 끝에 =가 1~2개 붙어 출력이 항상 4의 배수 길이가 됩니다. 따라서 "길이가 4의 배수이고, 모든 문자가 [A-Za-z0-9+/=] 범위 안에 있는가"가 Base64 여부를 빠르게 판별하는 기준입니다.

일상에서 Base64를 만나는 곳

Base64 vs Base64URL - 올바른 방식 선택

표준 Base64는 +, /, =를 사용합니다. 이 중 두 문자는 URL에서 특수 의미를 가져(+는 공백, /는 경로 구분자), 쿼리 문자열에 그대로 넣으면 값이 깨집니다. 이를 해결하는 Base64URL(RFC 4648 §5)은 +-로, /_로 치환하고, 보통 = 패딩을 생략합니다. 선택 기준은 간단합니다.

Base64를 쓰면 안 되는 경우

디코딩 오류 해결 방법

개발자를 위한 성능 참고

인코딩ㆍ디코딩은 O(n) 연산으로 매우 빠릅니다. 최신 노트북 기준으로 1MB 파일 인코딩은 약 1밀리초 정도면 끝납니다. 실질적인 비용은 33%의 용량 증가와, 원본 이진 데이터에 비해 압축 효율이 낮다는 점입니다(Base64 알파벳은 압축 알고리즘이 의존하는 저빈도 바이트를 포함하지 않기 때문). 이진 데이터 크기가 성능에 영향을 줄 만큼 크다면 Base64를 건너뛰고 이진 전송 방식을 사용하세요.

API 페이로드에 JSON을 다룰 때는 JSON 포매터ㆍ변환기로 구조를 정리하세요. 리소스 식별자로 Base64보다 충돌 위험이 낮은 UUID가 필요하다면 UUID 생성기를 활용하세요.

자주 묻는 질문

Base64는 암호화인가요?

아닙니다. 단순한 인코딩이며 누구나 쉽게 디코딩할 수 있습니다. 비밀번호 보호 용도로는 사용하지 마세요.

파일 크기는 얼마나 커지나요?

Base64 인코딩 후에는 약 33% 정도 크기가 증가합니다.

URL이나 파일명에 Base64를 그대로 써도 되나요?

표준 Base64는 `+`ㆍ`/`ㆍ`=` 문자를 포함해 URL 문법과 충돌할 수 있습니다. URL에는 `+`를 `-`로, `/`를 `_`로 치환한 URL-safe Base64(Base64URL)를 사용하세요.