Mã hóa và giải mã Base64
Base64 là phương pháp biểu diễn mọi dữ liệu — văn bản, hình ảnh, PDF, khóa — chỉ bằng 64 ký tự an toàn: A–Z, a–z, 0–9, + và /. Công cụ này giúp mã hóa văn bản và tệp sang Base64, đồng thời giải mã Base64 ngược lại thành văn bản hoặc tệp gốc. Quá trình chuyển đổi diễn ra ngay lập tức trên trình duyệt, không có bất kỳ dữ liệu nào bạn dán hoặc chọn bị tải lên máy chủ.
Tính năng chính
- Mã hóa văn bản sang Base64 hỗ trợ chuẩn UTF-8, tương thích với mọi ngôn ngữ và biểu tượng cảm xúc (emoji).
- Giải mã Base64 sang văn bản, tự động xử lý các lỗi ngắt dòng, khoảng trắng và thiếu ký tự đệm (padding) — thường gặp khi sao chép từ email hoặc log.
- Chế độ Base64URL tạo đầu ra an toàn cho URL, thường được dùng trong JWT, OAuth và nhiều web API.
- Chuyển tệp sang Base64, với tùy chọn xuất URL
data:hoàn chỉnh, sẵn sàng sử dụng cho thẻ<img src>hoặcurl()trong CSS. - Chuyển Base64 sang tệp: tải xuống dữ liệu đã giải mã nếu nội dung là tệp nhị phân, chẳng hạn như hình ảnh hoặc PDF.
Base64 được sử dụng ở đâu
Tệp đính kèm email. Tiêu chuẩn MIME mã hóa các tệp đính kèm bằng Base64 để các tệp nhị phân có thể truyền tải an toàn qua các hệ thống được thiết kế cho văn bản.
Data URL. Các biểu tượng và hình ảnh nhỏ có thể được nhúng trực tiếp vào HTML hoặc CSS dưới dạng data:image/png;base64,…, giúp giảm bớt một yêu cầu mạng.
API và cấu hình. Các giá trị nhị phân như chứng chỉ, khóa mã hóa hoặc tệp tải lên thường được gửi trong JSON dưới dạng chuỗi Base64. Kubernetes secrets và nhiều biến môi trường cũng lưu trữ giá trị bằng Base64.
Xác thực. Xác thực HTTP Basic gửi username:password được mã hóa bằng Base64 và JSON Web Token gồm ba phần được mã hóa bằng Base64URL. Để xem nội dung của token, hãy sử dụng công cụ Giải mã JWT.
Base64 hoạt động như thế nào
Bộ mã hóa lấy đầu vào 3 byte (24 bit) mỗi lần và chia thành 4 nhóm, mỗi nhóm 6 bit. Mỗi giá trị 6 bit (0–63) tương ứng với một ký tự trong bảng chữ cái Base64. Khi độ dài đầu vào không phải là bội số của 3, đầu ra sẽ được đệm thêm một hoặc hai dấu = để độ dài của nó là bội số của 4.
Vì cứ 3 byte sẽ biến thành 4 ký tự, dữ liệu Base64 lớn hơn khoảng một phần ba so với bản gốc. Sự gia tăng dung lượng này là sự đánh đổi để có thể truyền dữ liệu nhị phân an toàn qua các hệ thống chỉ hỗ trợ văn bản.
Base64 không giống với mã hóa URL. Nếu bạn cần đưa văn bản bất kỳ vào chuỗi truy vấn (query string), hãy sử dụng công cụ Mã hóa/Giải mã URL. Để kiểm tra xem hai tệp có giống hệt nhau hay không, hãy so sánh mã checksum của chúng bằng công cụ Tạo mã Hash.