Base64 이미지가 나오는 곳
이미지를 텍스트 통로에 실어 보낼 때 Base64를 씁니다. HTML의 <img src="data:image/png;base64,…">, CSS의 url(data:…), JSON API 응답의 이미지 필드, 이메일 HTML, 데이터베이스의 BLOB을 문자열로 꺼낸 경우가 대표적입니다. 이 도구는 그 문자열을 바이트로 되돌려 브라우저에 그리고, 파일로 내려받을 수 있게 합니다. 모든 처리는 브라우저 안에서만 이루어지며 붙여넣은 내용은 전송되지 않습니다.
형식은 어떻게 판별하나
data URL의 image/png 같은 선언은 믿지 않고, 디코딩한 바이트의 앞부분(파일 서명, magic number)을 봅니다. PNG는 89 50 4E 47, JPEG는 FF D8 FF, GIF는 GIF8, WebP는 RIFF…WEBP로 시작합니다. 선언과 실제가 다르면 실제 기준으로 확장자를 정하고 알려 줍니다. JPEG를 .png로 저장하면 대부분의 뷰어는 열지만 일부 프로그램은 거부하므로 이 판별이 필요합니다.
붙여넣을 때 흔한 실수
JSON에서 복사하면 앞뒤 따옴표가 따라오고, HTML에서 복사하면 src="가 섞이기 쉽습니다. 이 도구는 공백·줄바꿈은 제거하지만 따옴표나 태그는 오류로 알립니다. 문자열이 너무 길어 클립보드에서 잘리면 "디코딩 실패" 또는 "표시 불가"가 나옵니다. 텍스트 편집기에서 전체 길이가 4의 배수 근처인지, 끝이 =로 끝나는지 확인해 보세요. URL-safe 변형(-, _)도 자동으로 받아들입니다.
표시는 되는데 저장 후 열리지 않는 경우
브라우저는 손상된 JPEG의 앞부분만 있어도 일부를 그려 주지만, 다른 프로그램은 파일 끝 마커가 없으면 열지 못합니다. 미리보기에서 아래쪽이 회색으로 잘려 있다면 원본 문자열이 잘린 것입니다. 또 HEIC·AVIF처럼 브라우저 지원이 제한적인 형식은 판별은 되지만 미리보기가 안 될 수 있으며, 파일로 저장하면 지원하는 프로그램에서 열립니다.
자주 묻는 질문
이미지가 아니라 텍스트가 나와요.
Base64 안의 내용이 이미지가 아니라 JSON이나 일반 텍스트인 경우입니다. Base64 인코딩·디코딩 도구에서 텍스트로 디코딩해 보세요.
SVG도 되나요?
네. SVG는 텍스트라서 서명 대신
여러 장이 들어 있는 JSON을 한 번에 처리할 수 있나요?
현재는 한 번에 하나만 처리합니다. 문자열을 하나씩 잘라 붙여넣어야 합니다.