Base64 인코더
Base64 인코딩/디코딩
Base64 인코더 사용 방법
Base64 인코딩/디코딩 무료 온라인 도구, 회원가입 없음, 광고 없음. 지금 바로 무료로 사용하세요.
Base64 인코딩은 어디에 사용되나요?
Base64는 이진 데이터(이미지, 파일, 바이트)를 64개의 안전한 ASCII 문자만 사용하는 문자열로 인코딩합니다. 이를 통해 이메일이나 JSON API처럼 텍스트를 위해 설계된 시스템을 통해 이진 콘텐츠를 전송할 수 있어 디지털 통신의 근본적인 문제를 해결합니다.
- HTML/CSS에 이미지 삽입:
<img src="data:image/png;base64,iVBOR...">는 추가 HTTP 요청 없이 이미지를 직접 삽입합니다. 작은 아이콘과 이메일 템플릿에 유용합니다. - API 인증: HTTP Basic Auth는 자격증명을
Authorization: Basic dXNlcjpwYXNz로 전송합니다. 사용자명:비밀번호를 Base64로 인코딩한 것으로 많은 API의 표준입니다. - 이메일 첨부 파일: MIME 프로토콜은 일반 텍스트만 처리하는 이메일 서버를 통해 전송할 수 있도록 이진 첨부 파일을 Base64로 인코딩합니다.
- JWT 토큰: JSON Web Token은 헤더와 페이로드 부분에 Base64URL 인코딩(URL 안전 변형)을 사용합니다. 현대 OAuth2 아키텍처에서 카카오 로그인, 네이버 로그인 등 소셜 로그인에 광범위하게 사용됩니다.
- Data URI: 폰트, SVG, 기타 자산을 Base64 Data URI를 통해 CSS 파일에 직접 삽입하여 HTTP 요청 수를 줄일 수 있습니다.
중요: Base64는 인코딩이지 암호화가 아닙니다. 누구나 키 없이 즉시 Base64 문자열을 디코딩할 수 있습니다. 민감한 데이터를 숨기는 데 절대 사용하지 마세요. 실제 암호화(AES, RSA)를 사용하세요.
Base64는 암호화와 같은 건가요?
아니요. Base64는 인코딩 체계로 데이터를 다른 형식으로 변환하지만 보안을 제공하지 않습니다. 키 없이 누구나 완전히 디코딩할 수 있습니다. 암호화(AES, RSA)는 키를 사용하여 데이터를 뒤섞어 권한 있는 당사자만 읽을 수 있게 합니다.
Base64가 파일 크기를 늘리는 이유는 무엇인가요?
Base64는 3바이트의 이진 데이터를 4개의 ASCII 문자로 표현하여 약 33%의 오버헤드가 발생합니다. 100KB 이미지는 Base64 인코딩 후 약 133KB가 됩니다. 그래서 큰 이미지를 Base64로 삽입하는 것은 성능에 중대한 영향을 미치므로 권장되지 않습니다.
Base64와 Base64URL의 차이는 무엇인가요?
표준 Base64는 URL에서 특별한 의미를 갖는 + 와 / 문자를 사용합니다. Base64URL은 이를 - 와 _로 교체하여 퍼센트 인코딩 없이 URL과 파일명에 안전하게 사용할 수 있습니다. JWT 토큰은 Base64URL을 사용합니다.
브라우저 콘솔에서 Base64 문자열을 디코딩하는 방법은?
콘솔에서: atob('base64_문자열')로 디코딩하고, btoa('텍스트')로 인코딩합니다. 이진 데이터나 파일의 경우 atob/btoa는 단순 텍스트 문자열만 처리하므로 FileReader API가 필요합니다.
모든 파일 유형을 Base64로 인코딩할 수 있나요?
네. Base64는 이미지, PDF, 오디오, 실행 파일 등 파일 유형에 관계없이 모든 이진 데이터에 작동합니다. 결과 문자열은 특별한 처리 없이 JSON, XML, HTML 속성에 저장할 수 있습니다.
Base64 vs 다른 인코딩 체계
Base64는 텍스트에서 이진 데이터를 위한 가장 일반적인 인코딩으로, 33% 오버헤드에 광범위하게 지원됩니다. 16진수 인코딩은 0-9와 a-f만 사용하며 더 단순하지만 원본 크기의 두 배가 됩니다. Base32는 대문자와 숫자 2-7을 사용하며 대소문자를 구분하지 않아 Google OTP, 네이버 OTP 같은 TOTP 인증 앱에 사용됩니다. 텍스트 맥락에서 이진 데이터를 삽입할 때 Base64가 범용 표준 선택입니다.