Tài liệu & Hướng dẫn chuyên sâu: Ảnh ↔ Base64 (Image ↔ Base64)
1. Tổng quan & Nguyên lý hoạt động
Nhúng ảnh nhỏ thẳng vào HTML, CSS, email hay JSON dưới dạng Data URI giúp bớt một yêu cầu mạng; ngược lại, khi nhận được một chuỗi Base64 dài từ API hay log, bạn muốn biết nó là ảnh gì. Công cụ này chuyển ảnh thành Base64 với các dạng dán sẵn (Data URI, Base64 thuần, thẻ `<img>`, CSS `background-image`, Markdown, JSON) và giải mã chuỗi Base64 về ảnh để xem trước và tải xuống. Loại tệp được nhận diện bằng "chữ ký" byte đầu tiên chứ không tin vào phần khai báo, nên chuỗi khai báo sai kiểu vẫn được xử lý đúng. Mọi thao tác diễn ra trong trình duyệt — ảnh của bạn không được tải lên đâu cả.
2. Ưu thế kiến trúc & Tính năng nổi bật
Thả hoặc chọn ảnh (PNG, JPEG, GIF, WebP, AVIF, SVG, BMP, ICO, tối đa 10 MB). Xem trước kèm kích thước điểm ảnh, dung lượng gốc so với dung lượng Base64, sao chép hoặc tải từng định dạng đầu ra. Chuỗi rất dài chỉ bị rút gọn khi hiển thị; sao chép và tải về luôn đầy đủ.
Dán Data URI, đoạn `<img src="data:…">`, `url(data:…)` của CSS hoặc chuỗi Base64 thuần (kể cả dạng URL-safe, thiếu dấu `=`, có xuống dòng). Công cụ phát hiện loại thật của tệp, cảnh báo khi khác với khai báo, xem trước và tải về với đúng phần mở rộng.
Không có yêu cầu mạng nào được gửi đi. Liên kết chia sẻ chỉ mang chuỗi Base64 bạn dán ở chiều giải mã, và ảnh chọn từ máy không bao giờ được đưa vào liên kết hay bộ nhớ cục bộ.
3. Chữ ký tệp (magic bytes) thường gặp
Công cụ dựa vào những byte đầu tiên này để nhận ra loại tệp, kể cả khi phần khai báo MIME sai:
| Loại | Byte đầu (hex) | Base64 thường bắt đầu bằng |
|---|---|---|
| PNG | 89 50 4E 47 0D 0A 1A 0A | iVBORw0KGgo |
| JPEG | FF D8 FF | /9j/ |
| GIF | 47 49 46 38 | R0lGOD |
| WebP | 52 49 46 46 … 57 45 42 50 | UklGR |
| SVG (văn bản) | 3C 73 76 67 ("<svg") | PHN2Zy |
| 25 50 44 46 | JVBERi |
4. Câu hỏi thường gặp (FAQ)
Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Ảnh ↔ Base64 (Image ↔ Base64).
5. Công cụ liên quan
- Mã hóa Base64Mã hóa hoặc giải mã văn bản giữa dạng thô, Base64 và URL-encoded.
- Nén ảnh WebP / AVIFNén và đổi định dạng ảnh sang WebP, AVIF, JPEG hoặc PNG bằng canvas ngay trên trình duyệt — ảnh không bao giờ được tải lên.
- Chuyển đổi SVG sang React ComponentDán mã SVG, nhận ngay component React/TSX có kiểu dữ liệu đầy đủ — xử lý hoàn toàn trên trình duyệt.