Base64 인코더 및 디코더

HOT

한글 UTF-8 깨짐 방지 완벽 지원, 텍스트 및 파일 업로드 Data URL 상호 변환

ADVERTISEMENT · TOP BANNER

Responsive 728x90 / 320x100 Ad Slot

(CLS Prevention Active · Zero Shift)
100% 브라우저 연산 (서버 전송 없음, 개인정보 안전)
Interactive Client Mode
한글/다국어(UTF-8) 완벽 지원 · btoa 글자 깨짐 오류 자동 방지
Client-Side Only
원문 텍스트 (Plain Text)0 chars
Base64 변환 결과0 chars
ADVERTISEMENT · HIGH CTR IN-FEED

Native In-Feed / High Viewability Ad Slot

(CLS Prevention Active · Zero Shift)

Base64 인코딩의 개념과 웹 아키텍처에서의 중요성

Base64는 8비트 이진 데이터(바이너리 파일, 이미지, 실행 파일, 압축 파일 등)를 공통 ASCII 영역의 인쇄 가능한 64개 문자(A~Z, a~z, 0~9, +, /)만으로 구성된 텍스트 문자열로 안전하게 변환(인코딩)하는 전 세계 표준 규격(RFC 4648)입니다. 초기 인터넷 이메일 전송 프로토콜(SMTP)과 같은 7비트 레거시 통신 환경에서 바이너리 데이터가 전송 도중 깨지거나 변조되는 것을 방지하기 위해 탄생했습니다.

현대 웹 개발 및 클라우드 아키텍처에서 Base64는 필수적인 인라인 데이터 표현 기술로 활용됩니다. 작은 아이콘이나 웹 폰트를 HTML이나 CSS 내부에 Data URL(data:image/png;base64,...) 형태로 직접 임베딩함으로써 브라우저의 추가 HTTP 네트워크 왕복(Round-trip) 시간을 제거할 수 있습니다. 또한 HTTP 기본 인증(Basic Auth) 헤더, JWT(JSON Web Token) 페이로드 서명, 이메일 첨부파일(MIME) 인코딩, 쿠버네티스 Secret 환경변수 보관 등 다양한 보안 및 데이터 파이프라인에서 핵심 역할을 수행합니다.

오르보킷 Base64 인코더/디코더는 일반 텍스트뿐만 아니라 이미지 및 파일 드래그 앤 드롭 업로드를 지원합니다. 특히 브라우저 기본 내장 함수인 btoa()가 한글(3바이트 UTF-8)을 처리할 때 발생시키는 고질적인 InvalidCharacterError 문제를 TextEncoder API를 통해 완벽히 무손실 해결하였으며, 100% 클라이언트 브라우저 로컬 연산으로 동작하여 사내 소스코드나 기밀 파일을 안전하게 변환할 수 있습니다.

Base64 6비트 분할 메커니즘과 패딩(=) 원리

8비트 3개(총 24비트)를 6비트 4개로 재배열하는 4/3 배율 데이터 변환 구조입니다.

Base64 6비트 매핑 및 33% 오버헤드 공식Mathematical Formulation
인코딩 크기 = 4 × ceil(원본 바이트 수 ÷ 3) (패딩 '=' 기호 포함)

컴퓨터의 기본 바이트는 8비트입니다. Base64는 3바이트(24비트)를 모아서 6비트씩 4개로 쪼갠 뒤, 64개의 ASCII 인덱스 표에 1:1 대응시킵니다.

'Man' 3글자 텍스트를 Base64로 인코딩하는 과정
ASCII 8비트 2진수 변환M(77)='01001101', a(97)='01100001', n(110)='01101110'24비트: 010011010110000101101110
6비트씩 4개 그룹 분할[010011] [010110] [000101] [101110]10진수: 19, 22, 5, 46
Base64 색인표 치환19='T', 22='W', 5='F', 46='u''TWFu'

👉 'Man' 3바이트 텍스트가 정확히 4문자 'TWFu'로 인코딩 완료됩니다.

  • 용량 33% 증가 오버헤드: 원본 3바이트가 항상 4문자(4바이트)로 늘어나므로 인코딩 후 파일 크기는 약 1.333배(33.3% 증가) 커집니다.
  • 패딩(=) 기호의 역할: 원본 데이터가 3바이트로 나누어떨어지지 않을 경우, 남는 1바이트 뒤에는 '=='를, 남는 2바이트 뒤에는 '='를 붙여 4의 배수를 맞춥니다.
  • 자바스크립트 btoa()의 한계: window.btoa()는 라틴 문자(0~255)만 지원하여 한글(유니코드) 입력 시 크래시가 발생하므로 TextEncoder UTF-8 변환이 필수적입니다.
  • 암호화가 아닌 인코딩: Base64는 비밀 키가 없는 공개 규격이므로 보안을 위한 암호화 용도로 사용해서는 안 됩니다.

Base64 색인 색인표(Index Table) 및 특수 규격 비교표

표준 Base64(RFC 4648)와 URL 안전 Base64(Base64URL)의 문자 차이점입니다.

색인 범위2진수 비트표준 Base64 문자Base64URL 문자비고 및 사용처
0 ~ 25000000 ~ 011001A ~ Z (대문자 26개)A ~ Z (동일)알파벳 대문자 매핑
26 ~ 51011010 ~ 110011a ~ z (소문자 26개)a ~ z (동일)알파벳 소문자 매핑
52 ~ 61110100 ~ 1111010 ~ 9 (숫자 10개)0 ~ 9 (동일)아라비아 숫자 매핑
색인 62111110+ (플러스 기호)- (하이픈 / 마이너스)URL 쿼리스트링 충돌 방지
색인 63111111/ (슬래시 기호)_ (언더스코어)URL 경로 구분자 충돌 방지
패딩 문자자릿수 보정= (이퀄 기호)보통 생략 (Unpadded)4의 배수 길이 정렬용

* JWT(Json Web Token)나 URL 파라미터에서는 URL 인코딩 충돌을 방지하기 위해 Base64URL 규격을 사용합니다.

ADVERTISEMENT · IN-ARTICLE CONTENT

High-Engagement In-Article Native Ad Slot

(CLS Prevention Active · Zero Shift)

사용 방법

11. 인코드(Encode) 또는 디코드(Decode) 모드 선택

일반 텍스트나 파일을 Base64 문자열로 변환할지, 아니면 기존 Base64 문자열을 원문 텍스트나 파일로 복원할지 탭을 선택하세요.

22. 텍스트 직접 입력 또는 파일 드래그 앤 드롭

입력창에 문자열을 직접 붙여넣거나, PNG/JPG/SVG/PDF 파일을 업로드 영역에 드래그하여 즉시 변환하세요.

33. UTF-8 한글 무손실 인코딩 및 Data URL 포맷 확인

한글 및 특수문자가 포함된 텍스트가 정상 인코딩되었는지 확인하고, 이미지의 경우 HTML <img> 태그용 Data URL을 생성하세요.

44. 클립보드 복사 또는 디코딩 파일 다운로드

[결과 복사] 버튼으로 문자열을 복사하거나, [다운로드] 버튼을 눌러 디코딩된 원본 바이너리 파일을 PC에 저장하세요.

실무 웹 개발 및 엔지니어링 활용 사례

프론트엔드 최적화, 보안 인증, 이메일 시스템의 대표 사례입니다.

CSS 및 HTML 이미지 인라인 임베딩 (Data URL)

1KB 미만의 작은 로고나 스피너 SVG 이미지를 Base64 Data URL로 변환하여 CSS에 직접 삽입함으로써 불필요한 이미지 HTTP 요청을 줄입니다.

HTTP Basic Auth 인증 헤더 구성

클라이언트에서 'username:password' 문자열을 Base64로 변환하여 'Authorization: Basic dXNlcjpwYXNz' 헤더를 생성합니다.

쿠버네티스(k8s) Secret 설정 파일 작성

데이터베이스 접속 비밀번호나 TLS 인증서를 YAML 파일에 안전하게 주입하기 위해 Base64로 인코딩합니다.

이메일 첨부파일(MIME Base64) 디버깅

메일 서버 로그에 남아있는 손상된 Base64 첨부파일 스트림을 원본 이미지나 PDF로 디코딩하여 복원합니다.

💡 개발자를 위한 Base64 실무 꿀팁

✓ 대용량 이미지에는 Data URL 남발 금지

Base64 인코딩은 파일 크기를 33% 증가시키고 브라우저의 이미지 별도 캐싱을 방해하므로, 5KB 이상의 큰 이미지는 일반 파일 URL로 호스팅하는 것이 성능상 유리합니다.

✓ Base64URL 변환 숏컷

표준 Base64 문자열에서 '+'를 '-'로, '/'를 '_'로 치환하고 끝의 '='를 제거하면 URL에 안전한 Base64URL이 됩니다.

⚠️ 흔히 하는 실수 & 예방법

❌ Base64를 비밀번호 암호화(Encryption)로 오해
✅ Base64는 누구나 1초 만에 디코딩할 수 있는 단순 표현 형식이므로, 비밀번호는 반드시 Argon2, bcrypt, PBKDF2 등 단방향 해시를 써야 합니다.
❌ 줄바꿈(\r\n)이 포함된 Base64 디코딩 실패
✅ MIME 표준(이메일)은 76자마다 줄바꿈을 넣으므로, 디코딩 전 공백과 줄바꿈 정규식을 먼저 제거해야 오류가 안 납니다.

자주 묻는 질문 (FAQ)

사용자 및 전문가들이 가장 자주 묻는 핵심 질문과 명확한 해답입니다.

7 Q&As

아닙니다. Base64는 '인코딩(Encoding)' 방식일 뿐 비밀 키(Key)가 존재하는 암호화가 아닙니다. 인코딩 규칙만 알면 누구나 원본 바이너리나 텍스트로 즉각 복원할 수 있으므로 비밀번호나 개인정보를 보호하는 보안 목적으로 사용해서는 절대 안 됩니다.

ADVERTISEMENT · FOOTER BANNER

Wide Responsive Banner

(CLS Prevention Active · Zero Shift)