Base64 & URL 인코더 / 디코더
텍스트 및 파일 Base64 변환, UTF-8 한글 완벽 지원, URL 인코딩/디코딩
지금 계산한 분들이 함께 많이 사용하는 도구
사용 방법 및 안내
Base64 및 URL 인코더/디코더는 바이너리 데이터와 유니코드 텍스트를 RFC 4648 표준 64개 ASCII 문자로 직렬화하거나 웹 URL 전송용 퍼센트 인코딩을 브라우저에서 즉시 변환합니다. 모든 데이터 인코딩, 디코딩 및 파일 복원 처리는 외부 서버 전송 없이 100% 로컬에서 안전하게 실행됩니다.
6비트 분할 및 UTF-8 바이트 직렬화 알고리즘
Base64 알고리즘은 8비트 바이너리 3바이트를 6비트씩 4개 문자로 재배열합니다:
- UTF-8 한글 다중 바이트 처리: 기본
btoa는 Latin-1(0~255)만 지원하므로 한글 등 유니코드 문자를encodeURIComponent로 바이트 직렬화한 후 인코딩하여 글자 깨짐을 방지합니다. - URL-Safe 문자 자동 정규화: MIME 줄바꿈과 공백을 정리하고 URL-safe 기호(
-,_)를 표준 기호(+,/)로 치환한 뒤 부족한=패딩을 자동 복원합니다.
Base64 및 URI 인코딩 기술 규격표
| 인코딩 방식 | 문자셋 구성 및 형식 | 주요 활용 분야 |
|---|---|---|
| 표준 Base64 (RFC 4648) | A-Z, a-z, 0-9, +, / (패딩 기호: =) | 이메일 첨부파일(MIME), JSON 바이너리 전송, 인증 헤더 |
| URL-Safe Base64 | A-Z, a-z, 0-9, -, _ (+와 / 대신 -와 _) | JWT 토큰, 웹 URL 파라미터, OAuth2 인증 토큰 |
| 파일 Data URL | data:[MIME타입];base64,[데이터] | HTML 이미지 태그 인라인 삽입, CSS 배경 에셋 |
기술적 한계 고지 및 유의사항
Base64는 데이터 전송 경로의 신뢰성을 위한 인코딩 변환 기술일 뿐 암호화(Encryption)가 아닙니다. 인코딩된 문자열은 누구나 즉시 디코딩하여 원본을 확인할 수 있으므로 보안 비밀번호나 개인정보를 평문 상태로 Base64만 씌워 저장하지 않도록 유의하시기 바랍니다.
자주 묻는 질문 (FAQ)
Base64 인코딩은 왜 사용하나요?
이메일, JSON, HTTP처럼 텍스트만 허용하는 전송 경로에서 8비트 바이너리가 깨지거나 유실되지 않도록 64개의 안전한 ASCII 문자로 변환합니다. 변환 후 용량은 원본 대비 약 133%로 증가합니다.
브라우저 기본 btoa로 한글을 변환하면 왜 오류가 나나요?
btoa 함수는 1바이트 Latin-1(0~255)만 인식합니다. 한글은 UTF-8에서 글자당 3바이트를 차지하므로 encodeURIComponent로 바이트를 펼친 후 Base64로 인코딩해야 글자가 깨지지 않습니다.
Data URL이나 Base64 문자열을 다시 파일로 다운로드할 수 있나요?
가능합니다. 파일 Base64 탭에서 디코딩을 선택하고 data:image/png;base64... 또는 순수 Base64를 입력하면 바이너리 Blob을 복원하여 로컬 파일로 즉시 저장합니다.
Base64는 암호화(보안) 기술인가요?
아닙니다. Base64는 누구나 디코딩할 수 있는 단순 직렬화 인코딩입니다. 비밀번호나 기밀 데이터는 Base64가 아닌 AES, RSA 등 정식 암호화 알고리즘을 적용해야 합니다.