Ả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.