이미지 ↔ BASE64
이 변환기는 JavaScript FileReader API를 사용하여 브라우저 내에서 완전히 작동합니다. 이미지는 장치에서 로컬로 처리되며, 어떠한 데이터도 서버로 전송되지 않습니다. 인코딩 및 디코딩 알고리즘은 브라우저 메모리에서 실행되며, 모든 임시 데이터는 페이지를 닫거나 새로고침하면 지워집니다.
인코딩 과정
Base64 인코딩은 64개의 출력 가능한 ASCII 문자(A-Z, a-z, 0-9, +, /)를 사용하여 이진 이미지 데이터를 텍스트 문자열로 변환합니다. 이를 통해 이진 콘텐츠를 HTML, CSS, JSON, XML과 같은 텍스트 기반 형식에 손상 없이 안전하게 포함할 수 있습니다.
Base64 인코딩은 파일 크기를 약 33% 증가시킵니다.
지원되는 형식
| 방향 | 입력 형식 | 출력 형식 | MIME 타입 |
|---|---|---|---|
| 이미지 → Base64 | JPEG (.jpg, .jpeg) | Base64 텍스트 문자열 | image/jpeg |
| 이미지 → Base64 | PNG (.png) | Base64 텍스트 문자열 | image/png |
| Base64 → 이미지 | Base64 문자열 / 데이터 URL | PNG 파일 | image/png |
| Base64 → 이미지 | Base64 문자열 / 데이터 URL | JPEG 파일 | image/jpeg |
기술 사양
데이터 URL 구조
이 변환기는 원본 Base64 문자열과 완전한 데이터 URL을 모두 생성합니다. 데이터 URL에는 MIME 타입 접두사가 포함되어 있어 HTML 및 CSS에서 직접 사용할 수 있습니다.
├─ 스키마: data:
├─ MIME 타입: image/png
├─ 인코딩: ;base64,
└─ 인코딩된 데이터: iVBORw0K...
변환 예시
크기 영향 참조
| 원본 크기 | Base64 크기 | 증가 | 일반적인 사용 사례 |
|---|---|---|---|
| 1 KB | ~1.37 KB | +37% | 작은 아이콘, 파비콘 |
| 10 KB | ~13.7 KB | +37% | UI 요소, 버튼 |
| 100 KB | ~137 KB | +37% | 썸네일, 아바타 |
| 1 MB | ~1.37 MB | +37% | 중간 크기 사진 |
| 10 MB | ~13.7 MB | +37% | 고해상도 이미지 |
참고: 인라인 임베딩을 위해서는 10KB 미만의 이미지에 Base64 인코딩을 권장합니다. 더 큰 이미지는 페이지 로드 시간을 줄이기 위해 전통적인 파일 호스팅을 이용하는 것이 좋습니다.