Mã hóa/Giải mã Base64
Mã hóa/Giải mã Base64 hỗ trợ cả quy trình cho văn bản và hình ảnh. Bạn có thể mã hóa và giải mã văn bản, chuyển hình ảnh thành Data URL hoặc Base64 thô, hoặc chuyển Data URL / Base64 trở lại thành hình ảnh để xem trước và tải xuống ngay trên máy.
Văn bản đầu vào
Ký tự
0 / 500,000
Chọn hoặc thả ảnh vào đây
Hỗ trợ PNG, JPEG, WebP, GIF, SVG, BMP, AVIF, TIFF, ICO, HEIC và HEIF nếu trình duyệt đọc được.
Văn bản đầu ra
Văn bản đầu ra
Văn bản đầu vào
Ký tự
0 / 500,000
Loại MIME cho raw Base64
Base64 thô không chứa thông tin MIME. Hãy chọn loại ảnh gốc trước để hệ thống có thể tự động tạo bản xem trước.
Dán Data URL của ảnh, hoặc dán Base64 thô rồi chọn kiểu MIME để xem trước tại đây.
Bắt đầu nhanh
Tình huống sử dụng phổ biến
URL/JWT
nên ưu tiên biến thể URL‑safe (−/_); phần '=' ở cuối có thể được lược bỏ để tránh vấn đề escape
Email/MIME
khi cần ngắt dòng, hãy dùng quy tắc MIME 76 cột (CRLF); với web thì không cần ngắt dòng. Công cụ cung cấp ngắt dòng 76 cột và chuyển đổi LF/CRLF.
Văn bản nhiều dòng
bật Mã hóa theo dòng để mã hóa từng dòng độc lập.
MIME/PEM
bật ngắt dòng 76 cột; bật sử dụng LF khi cần.
Data URL
khi nhúng, tạo chuỗi data:[mime];base64,…; bộ giải mã sẽ tự động tách phần sau dấu phẩy.
Kiểm tra khứ hồi
mã hóa rồi ngay lập tức giải mã lại để kiểm tra tính chính xác.
Tải ảnh lên
giữ nguyên byte gốc và chuyển qua lại giữa Data URL với raw Base64 mà không cần tải lại.
Data URL hình ảnh
dán data:image/...;base64,... để tự động nhận diện kiểu MIME và xem trước ảnh ngay lập tức.
Dữ liệu ảnh Base64 thô
hãy cung cấp kiểu MIME gốc của ảnh để công cụ có thể tự động xem trước và tải xuống dưới dạng ảnh.
Tham số & biến thể mã hóa
Gợi ý sử dụng
Giới hạn & khả năng tương thích
Quyền riêng tư & bảo mật
Câu hỏi thường gặp
Base64 là một sơ đồ biểu diễn dữ liệu nhị phân bất kỳ bằng các ký tự văn bản có thể in được. Nó xuất hiện đầu tiên trong chuẩn MIME của email (những năm 1990, RFC 1521/2045) và sau đó được chuẩn hóa trong RFC 4648. Mục tiêu không phải là “mã hóa bảo mật” mà là truyền tải byte một cách ổn định qua các kênh thiên về văn bản. Cách hoạt động: cứ mỗi 3 byte (24 bit) được chia thành bốn khối 6 bit và ánh xạ sang 64 ký tự A–Z, a–z, 0–9, +, /. Nếu độ dài nguồn không chia hết cho 3, ký tự “=” được dùng để đệm cho đủ độ dài bội số của 4. Kích thước thường tăng khoảng ~33%. Biến thể & lựa chọn: RFC 4648 định nghĩa biến thể URL‑safe, dùng “-” và “_” thay cho “+” và “/”, và phần “=” ở cuối có thể được lược bỏ. Nên ưu tiên URL‑safe cho URL, Cookie và JWT; dùng Base64 chuẩn (giữ +/ và =) cho các chuỗi công cụ cũ/MIME. Công cụ này mặc định dùng URL‑safe; bộ giải mã chấp nhận cả hai biến thể. Ví dụ: ??? → chuẩn Pz8/, URL‑safe Pz8_; ~~~ → chuẩn fn5+, URL‑safe fn5-. Data URL: khi nhúng, hãy dùng data:[mime];base64,… và chỉ giải mã phần sau dấu phẩy (công cụ này sẽ tự tách). Các mốc (tóm tắt): 1993 RFC 1521 (MIME v1, Ned Freed & Nathaniel Borenstein) → 1996 RFC 2045 (cập nhật MIME, thay thế 1521) → 2003 RFC 3548 (Simon Josefsson, trừu tượng hóa Base16/32/64) → 2006 RFC 4648 (Simon Josefsson, thống nhất và định nghĩa Base64URL, thay thế 3548). Ngoài ra: 1993 RFC 1421 (PEM, J. Linn) dùng Radix‑64 (gần giống Base64) để mang dữ liệu nhị phân qua email. Lưu ý bảo mật: Base64 là định dạng có thể đảo ngược, không cung cấp bảo mật về tính bí mật hay tính toàn vẹn. Hãy mã hóa (encryption) trước, rồi mới encode Base64.
Không. Bất kỳ ai có chuỗi Base64 cũng có thể giải mã nó. Nếu cần bảo mật, hãy mã hóa (encryption) trước.
Chỉ các ký tự A–Z, a–z, 0–9, +, / và = là hợp lệ, và độ dài phải đúng chuẩn (bội số của 4 hoặc có padding hợp lệ).
Sự khác biệt thường đến từ việc xuống dòng, việc giữ hay bỏ phần đệm '=', biến thể URL-safe (-/_), hoặc do dùng mã hóa văn bản khác nhau. Khi so sánh kết quả, hãy chắc chắn hai bên dùng cùng mã hóa văn bản, tắt tự động xuống dòng và xác nhận có dùng URL-safe cũng như giữ phần đệm hay không.
Base64 biểu diễn 8 bit thông qua 6 bit; phần dư ~33% là đặc điểm vốn có của chuẩn.
Có. Emoji và văn bản đa ngôn ngữ được xử lý theo UTF-8 trong chế độ văn bản. Nếu kết quả giải mã thực chất là dữ liệu nhị phân không phải văn bản, việc hiển thị khó đọc là bình thường.