🌐 KO

🔐 Base64 변환기

텍스트와 파일을 Base64로 인코딩하거나 Base64 문자열을 디코딩합니다. 이미지 임베딩, API 통신, 데이터 전송에 유용합니다.

가이드

자세히 알아보기

01

1. Base64 인코딩이란?

Base64는 바이너리 데이터를 ASCII 텍스트 문자열로 변환하는 인코딩 방식입니다. 64개의 안전한 문자(A-Z, a-z, 0-9, +, /)만 사용하여 모든 바이너리 데이터를 표현합니다. 이메일 첨부파일, JSON 데이터, URL 등 텍스트만 허용하는 환경에서 바이너리 데이터를 전송할 때 사용됩니다. 3바이트 데이터를 4바이트 문자로 변환하므로 원본보다 약 33% 크기가 증가합니다. 패딩을 위해 = 문자를 사용하며, RFC 4648 표준으로 정의되어 있습니다.

02

2. Base64 사용 시점

Base64는 다양한 상황에서 활용됩니다. 웹 개발에서는 작은 이미지를 HTML/CSS에 직접 임베딩하여 HTTP 요청을 줄입니다. 이메일 시스템(MIME)에서는 첨부파일을 텍스트로 변환하여 전송합니다. JSON API에서는 바이너리 데이터를 안전하게 전달할 때 사용합니다. 데이터베이스에 이미지나 파일을 저장할 때도 활용됩니다. URL 파라미터로 복잡한 데이터를 전달하거나, 인증 토큰(JWT)에서도 Base64 인코딩이 사용됩니다.

03

3. 웹 개발에서 Base64 활용

Base64는 웹 개발에서 매우 유용합니다. CSS의 Data URI를 통해 이미지를 직접 임베딩하면 별도 HTTP 요청 없이 로딩 속도를 개선할 수 있습니다. 예: background-image: url(data:image/png;base64,iVBORw0KG...). 단, 10KB 이하 작은 이미지에만 권장되며, 큰 파일은 캐싱이 안 되어 오히려 느려집니다. favicon, 로고, 아이콘 같은 작은 이미지에 적합합니다. HTML5 Canvas에서 이미지를 생성한 후 toDataURL()로 Base64 변환하여 다운로드나 업로드에 활용합니다.

04

4. 인코딩과 암호화의 차이

Base64는 인코딩이지 암호화가 아닙니다. 인코딩은 데이터를 다른 형식으로 변환하는 것으로, 누구나 쉽게 원본으로 되돌릴 수 있습니다. 보안 목적이 아닌 호환성과 전송 안정성을 위한 방법입니다. 반면 암호화는 키 없이 복호화할 수 없도록 데이터를 보호합니다. Base64로 인코딩된 데이터는 보안이 전혀 없으므로 민감한 정보(비밀번호, 개인정보)를 Base64로만 변환해서는 안 됩니다. 보안이 필요하면 먼저 암호화(AES, RSA)한 후 Base64로 인코딩하세요.

05

5. 이미지 임베딩 최적화

Base64 이미지 임베딩은 장단점이 있습니다. 장점은 HTTP 요청 감소로 초기 로딩이 빨라지며, 파일 관리가 간단해집니다. 단점은 크기가 33% 증가하고, 브라우저 캐싱이 불가능하며, CSS나 HTML이 무거워집니다. 따라서 로고, 아이콘, 작은 배경 이미지(5-10KB 이하)에만 사용하세요. 큰 이미지는 별도 파일로 제공하고 CDN을 활용하는 것이 좋습니다. 반복 사용되는 이미지는 파일로 제공하여 캐싱 효과를 누리세요.

06

6. API와 데이터 전송에서 Base64

REST API에서 Base64는 파일 업로드/다운로드에 자주 사용됩니다. JSON은 텍스트 형식이라 바이너리 데이터를 직접 포함할 수 없는데, Base64로 변환하면 JSON 안에 이미지나 문서를 전송할 수 있습니다. 예: {"image": "data:image/png;base64,iVBORw..."}. 단, 큰 파일은 multipart/form-data를 사용하는 것이 효율적입니다. GraphQL, WebSocket에서도 바이너리 데이터 전송에 Base64를 활용합니다. JWT 토큰의 페이로드도 Base64 인코딩되어 있어 디코딩하면 내용을 확인할 수 있습니다.