logo
GeekFormat

Ảnh sang Base64

Kéo hình ảnh vào đây hoặc nhấp để chọn

Hỗ trợ PNG, JPG, GIF, WebP

Công cụ trực tuyến miễn phí để chuyển ảnh sang Base64, hỗ trợ PNG/JPG/WebP/GIF/SVG/BMP/AVIF và các định dạng khác. Xử lý cục bộ trong trình duyệt bằng Web Worker, không tải lên và không làm treo UI. Tạo Data URL cho CSS, HTML, mẫu email và API.

Đề xuất Liên quan

Trường hợp sử dụng

  • CSS Sprites: nhúng icon nhỏ và ảnh vào CSS background để giảm HTTP request và tăng tốc render màn hình đầu
  • Nhúng ảnh HTML: nhúng logo, placeholder và tài nguyên UI trực tiếp vào thẻ HTML img để giảm request ảnh
  • Mẫu email: email client thường chặn ảnh ngoài theo mặc định; Base64 inline giúp ảnh hiển thị ngay mà không cần người dùng cho phép
  • Truyền qua API: chuyển dữ liệu nhị phân ảnh thành chuỗi Base64 và đưa vào JSON request body cho các API call
  • Tối ưu hiệu năng frontend: giảm HTTP request bằng cách inline tài nguyên quan trọng above-the-fold
  • Tiện ích trình duyệt và app một file: nhúng toàn bộ ảnh bằng Base64 khi không thể tham chiếu tài nguyên bên ngoài

Tính năng

  • Hỗ trợ đầy đủ định dạng: tự động nhận diện MIME cho PNG, JPG, WebP, GIF, SVG, BMP, AVIF, HEIC/HEIF và các định dạng ảnh phổ biến khác
  • Tăng tốc bằng Web Worker: mã hóa file lớn chạy trong thread riêng với thanh tiến trình thời gian thực, không chặn UI chính
  • Xử lý cục bộ không tải lên: ảnh được chuyển sang Worker bằng ArrayBuffer zero-copy và dữ liệu không đi qua bất kỳ máy chủ nào
  • Tự động tạo Data URL: tạo prefix data:image/xxx;base64, sẵn sàng dùng cho HTML img hoặc CSS background
  • Chuyển đổi hai chiều: hỗ trợ cả ảnh sang Base64 và Base64 sang ảnh trong các chế độ độc lập
  • Sao chép và tải xuống một chạm: sao chép Base64 thuần, Data URL đầy đủ, thẻ HTML img hoặc tải xuống file .txt

Cách Sử dụng

  1. Chọn hoặc kéo thả file ảnh cần mã hóa (PNG/JPG/WebP/GIF, v.v.)
  2. Công cụ tự động chuyển ảnh sang Base64 trong Web Worker của trình duyệt và hiển thị tiến trình theo thời gian thực
  3. Xem kết quả: chuỗi Base64 thuần, Data URL đầy đủ hoặc thẻ HTML img, rồi sao chép định dạng cần dùng
  4. Dán kết quả vào CSS, HTML, file cấu hình JSON hoặc request API

Câu hỏi Thường gặp

Hỗ trợ những định dạng ảnh nào?

Hỗ trợ PNG, JPG, WebP, GIF, SVG, BMP, AVIF, HEIC/HEIF và các định dạng phổ biến khác. Công cụ tự động nhận diện MIME type và tạo Data URL prefix tương ứng, ví dụ data:image/png;base64,...

Tăng tốc Web Worker hoạt động như thế nào?

Web Worker là thread trình duyệt độc lập với thread UI chính. Mã hóa ảnh truyền thống có thể làm trang bị treo; công cụ này chạy tác vụ mã hóa trong Worker với chuyển ArrayBuffer và callback tiến trình, giúp giao diện vẫn phản hồi khi xử lý file lớn.

Ảnh có được tải lên máy chủ không?

Không. Quá trình chuyển đổi hoàn tất trực tiếp trong Worker thread của trình duyệt bằng công nghệ ArrayBuffer zero-copy. Nội dung ảnh không đi qua máy chủ nào. Điều này khác hẳn các công cụ nói “xử lý trong trình duyệt” nhưng thực tế vẫn tải dữ liệu lên.

File lớn hơn bao nhiêu sau khi mã hóa Base64?

Mã hóa Base64 tạo ra khoảng 133% kích thước nhị phân gốc, tức lớn hơn khoảng 33%. Mỗi 3 byte (24 bit) được chuyển thành 4 ký tự Base64 (mỗi ký tự 6 bit), có padding = ở cuối nếu cần. Nên giữ mỗi ảnh inline dưới 10KB.

Ảnh nào phù hợp để Base64 inline?

Phù hợp cho icon và ảnh nhỏ dưới 10KB. Inline ảnh nhỏ giúp giảm HTTP request, nhưng ảnh lớn làm tăng kích thước HTML/CSS và có thể giảm hiệu năng tải. Ảnh lớn nên dùng URL riêng.

Data URL khác Base64 thuần thế nào?

Data URL có dạng data:image/png;base64, theo sau là nội dung Base64 và có thể đặt trực tiếp vào thuộc tính src của HTML img. Base64 thuần chỉ là chuỗi đã mã hóa và cần MIME prefix để sử dụng.

Có thể dùng công cụ này để test tích hợp API không?

Có. Sau khi chuyển ảnh sang Base64, bạn có thể gửi nó như giá trị field trong JSON request body tới backend API. Công cụ hỗ trợ sao chép một chạm và tương thích với hầu hết ví dụ trong tài liệu API.

Vì sao chọn Base64 inline thay vì tham chiếu ảnh thông thường?

Base64 inline phù hợp với file nhỏ (<10KB) vì giảm HTTP request. Với ảnh lớn, URL riêng tải nhanh hơn do trình duyệt có thể tải nhiều tài nguyên song song và tận dụng cache.

Ảnh sang Base64 là gì?

Ảnh sang Base64 là kỹ thuật mã hóa dữ liệu nhị phân của ảnh thành chuỗi văn bản ASCII. Base64 dùng 64 ký tự in được (A-Z, a-z, 0-9, +, /) để biểu diễn dữ liệu nhị phân, chuyển mỗi 3 byte thành 4 ký tự Base64 và thêm = làm padding ở cuối. Toàn bộ quá trình tuân theo chuẩn RFC 4648.

**Nguyên lý mã hóa**: Base64 chia mỗi 3 byte (24 bit) thành bốn nhóm 6 bit, mỗi nhóm ánh xạ tới một ký tự trong bảng chữ cái Base64. Nếu số byte không chia hết cho 3, 1-2 ký tự = padding sẽ được thêm ở cuối. Đây là lý do kích thước file tăng khoảng 33% (4/3 ≈ 1.33).

**Tối ưu bằng Web Worker**: công cụ này dùng Web Worker để thực thi tác vụ mã hóa trong thread trình duyệt tách khỏi thread chính. ArrayBuffer.transfer() cho phép chuyển dữ liệu zero-copy sang Worker và tránh chặn thread chính. Ngay cả khi xử lý ảnh nhiều MB, UI vẫn mượt và tiến trình hiển thị theo thời gian thực.

**Quyền riêng tư và bảo mật**: khác với công cụ yêu cầu tải ảnh lên máy chủ, công cụ này chạy hoàn toàn trong trình duyệt. Dữ liệu ảnh không đi qua máy chủ bên thứ ba, đặc biệt quan trọng khi xử lý ảnh nhạy cảm như giấy tờ hoặc hợp đồng.

**Trường hợp sử dụng**: ảnh Base64 thường dùng cho CSS Sprites (giảm HTTP request), mẫu email HTML (tránh email client chặn ảnh), truyền dữ liệu nhị phân qua API và tiện ích trình duyệt hoặc ứng dụng một file khi không thể tham chiếu tài nguyên bên ngoài.