BMP를 Base64로 변환하는 방법
.bmp파일을 상자에 놓거나 파일 선택기로 고르세요.- 비트맵 그대로 두려면 이미지 옵션을 건드리지 마세요. 원본 바이트가 인코딩됩니다.
- 크기를 줄이려면 변환 형식에서 PNG를 고르세요. 메타데이터(EXIF) 제거를 체크하거나 최대 너비를 지정해도 이미지가 변환되며, 브라우저는 BMP 파일을 쓸 수 없으므로 원래 형식 유지를 고르더라도 결과는 PNG가 됩니다.
- 출력 형식을 고르고 출력 복사를 누르세요.
미리보기에는 원래 크기가 표시되고, 변환한 뒤에는 그 옆에 새 크기가 함께 나옵니다.
BMP가 거대한 Base64 문자열을 만드는 이유
대부분의 BMP 파일은 모든 픽셀을 압축 없이 원시 바이트로 저장합니다. 크기는 그림의 내용이 아니라 가로세로 크기에만 좌우됩니다.
| 이미지 | BMP 파일 | BMP의 Base64 | 같은 이미지의 PNG |
|---|---|---|---|
| 32×32, 24비트 | 3,126바이트 | 4,168자 | 내용에 따라 다름 |
| 640×480, 24비트 | 921,654바이트 | 1,228,872자 | 내용에 따라 다름 |
| 설정 목록을 찍은 800×500 스크린샷 | 1,200,054바이트 | 1,600,072자 | 23,085바이트 (30,780자) |
마지막 행은 단순한 UI 형태의 이미지로 실제 테스트한 결과로, PNG가 무손실로 약 52배 작았습니다. 사진은 덜 압축되지만 그래도 PNG나 JPEG가 원시 BMP보다 훨씬 작습니다. 받는 시스템이 BMP를 요구하지 않는다면 먼저 변환하세요.
그래도 BMP가 필요할 때
비트맵만 읽는 시스템도 있습니다. 오래된 Windows 소프트웨어, 일부 프린터와 키오스크 소프트웨어, 디코더 없이 원시 픽셀을 그대로 그리는 임베디드 디스플레이와 마이크로컨트롤러 프로젝트가 그렇습니다. 이런 경우에는 형식을 유지하고 파일을 그대로 인코딩하세요. 장치가 1비트 흑백이나 16비트 같은 특정 비트 깊이를 요구한다면 먼저 이미지 편집기에서 파일을 준비하세요. 이 도구는 이미지 옵션을 지정하지 않는 한 원본 바이트를 유지합니다.
BMP의 Base64는 어떻게 생겼나
Qk02DAAAAAAAADYAAAAoAAAA...
32×32 24비트 BMP입니다. BM 다음에 3,126바이트라는 파일 크기, 예약 바이트, 54라는 픽셀 데이터 오프셋이 옵니다. 가로세로 크기가 다르면 파일 크기가 바뀌고 그에 따라 Qk 뒤의 문자도 바뀌므로, 확실한 표식은 처음 두 문자뿐입니다.
장치가 디코딩한 파일을 거부하면 헤더를 비교해 보세요. 알파 채널이 있는 32비트 BMP나 더 새롭고 큰 정보 헤더를 쓰는 BMP는, PC에서는 잘 열리는 파일을 오래된 리더가 거부하는 대표적인 이유입니다.
Base64를 다시 .bmp 파일로 바꾸려면 Base64를 BMP로를 사용하세요. 다른 이미지 형식은 브라우저가 읽을 수 있는 것이라면 무엇이든 이미지를 Base64로에서 받습니다.
자주 묻는 질문
브라우저가 BMP data URI를 표시하나요?
네. Chrome, Edge, Firefox, Safari 모두 <img>와 CSS에서 BMP를 디코딩합니다. 형식 자체는 작동하지만 낭비가 심할 뿐입니다.
BMP를 PNG로 변환하면 화질이 떨어지나요?
아니요. PNG는 무손실이므로 모든 픽셀이 그대로 유지됩니다. 픽셀이 바뀌는 것은 JPEG나 손실 WebP로 변환할 때뿐입니다.
Base64에서 BMP는 어떻게 알아보나요?
BMP 파일은 BM이라는 글자로 시작하며, 이는 Qk로 인코딩됩니다. 그다음 문자들이 파일 크기를 담고 있어서 세 번째 문자는 파일마다 다릅니다. Qk02로 시작하는 경우가 매우 흔합니다.