Chuyển Base64 sang ảnh
Dán văn bản Base64 hoặc data URL để lấy lại ảnh.
Chạy ngay trên trình duyệt. Không có gì bạn nhập vào bị gửi đi đâu cả.
- Tự nhận diện loại file
- Dùng được có hoặc không có tiền tố
- Không tải lên
Cách chuyển Base64 sang ảnh
- Dán URL dạng data:image/... hoặc văn bản Base64 thô.
- Bấm Giải mã ảnh.
- Xem trước rồi tải file về.
Văn bản ảnh Base64 đến từ đâu
- Một data URL sao chép từ mã CSS hoặc HTML của một trang web.
- Một trường trong response API hoặc file xuất từ database, thường lưu ảnh dưới dạng văn bản thay vì file.
- Ảnh chụp màn hình hoặc logo nhúng trong HTML của email.
- Công cụ chuyển ảnh sang Base64, kể cả công cụ trên trang này.
Loại file được nhận diện như thế nào
Khi văn bản bắt đầu bằng tiền tố data:image/..., loại file được đọc thẳng từ đó. Văn bản dán vào không có tiền tố sẽ được giải mã trước, sau đó các byte đầu của kết quả được so với chữ ký riêng của từng định dạng.
| Định dạng | Nhận diện bằng |
|---|---|
| PNG | Byte 89 50 4E ở đầu |
| JPG | Byte FF D8 FF ở đầu |
| GIF | Byte 47 49 46 |
| BMP | Byte 42 4D |
| WEBP | Header RIFF có gắn thẻ WEBP |
| ICO | Byte 00 00 01 00 |
| SVG | Văn bản bắt đầu bằng svg hoặc xml |
Khắc phục lỗi giải mã
- Xuống dòng và khoảng trắng được tự động xóa, nên văn bản sao chép từ trình soạn code vẫn dùng được.
- Một chuỗi bị cắt ngang, khi một phần văn bản bị mất lúc sao chép, sẽ không giải mã được và báo lỗi.
- Ký tự thừa ngoài bảng Base64, hoặc thiếu dấu = ở cuối, cũng gây ra lỗi.
Câu hỏi thường gặp về Base64 sang ảnh
Tôi lấy văn bản Base64 ở đâu?
Thường là từ một data URL trong HTML hoặc CSS, một response API, một trường dữ liệu, hoặc công cụ chuyển ảnh sang Base64.
Có cần tiền tố data:image/... không?
Không cần. Chỉ cần dán đúng ký tự Base64 thô, công cụ sẽ tự nhận diện loại ảnh từ dữ liệu đã giải mã.
Những loại ảnh nào được nhận diện?
PNG, JPG, GIF, WEBP, BMP và ICO được nhận diện bằng cách đọc phần header riêng của file, còn SVG được nhận diện khi văn bản giải mã bắt đầu bằng thẻ svg hoặc xml.
Dữ liệu của tôi có bị tải lên không?
Không. Việc giải mã diễn ra hoàn toàn trong trình duyệt, nên không có gì được gửi đi.
Vì sao tôi thấy thông báo "not valid Base64 image data"?
Văn bản dán vào bị thiếu ký tự, bị cắt ngang lúc sao chép, hoặc chứa ký tự ngoài bảng Base64 (A đến Z, a đến z, 0 đến 9, dấu cộng, dấu gạch chéo và dấu = ở cuối). Sao chép lại toàn bộ chuỗi.
Tôi có cần xóa xuống dòng trước khi dán không?
Không cần. Xuống dòng và khoảng trắng được tự động xóa trước khi giải mã, nên văn bản sao chép từ code đã định dạng vẫn dùng được.
Tôi có thể giải mã SVG từ Base64 không?
Được. Nếu văn bản giải mã bắt đầu bằng thẻ svg hoặc xml, nó được xem là SVG và xem trước như mọi ảnh khác.
Có giới hạn dung lượng cho văn bản Base64 tôi dán vào không?
Không có giới hạn cứng. Chuỗi rất dài chỉ khiến trình duyệt mất thêm chút thời gian để giải mã.