Mã hóa & Giải mã Base64

Cả hai khung đều nhập được: dán Base64 bên trái hoặc gõ văn bản bên phải — dán vào bên nào cũng được tự động nhận diện. An toàn Unicode. Thả file để mã hoá; giải mã Base64 trở lại thành file.

🔒 Chạy ngay trong trình duyệt — không tải lên bất cứ thứ gì.

Kết quả file

Về công cụ này

Base64 biến dữ liệu nhị phân bất kỳ thành văn bản ASCII bằng 64 ký tự — mẹo chuẩn để nhúng ảnh vào CSS, đính kèm email (MIME), hay để blob nhị phân trong JSON. Công cụ chuyển hai chiều ngay khi gõ, xử lý Unicode đúng chuẩn qua UTF-8 (nhiều tool cũ làm hỏng tiếng Việt và emoji).

Thả file vào khung bên phải và nó thành data: URI sẵn sàng dán vào CSS hay HTML — ảnh có xem trước trực tiếp. Dán Base64 vào khung bên trái, nếu giải mã ra kiểu nhị phân đã biết, bạn tải ngược lại thành file. Nó nhận diện PNG, JPEG, GIF, WebP và các định dạng khác ngay từ các byte đã giải mã, nên phần xem trước và đuôi file đúng (như .png) tự hiện ra, kể cả khi không có tiền tố data: URI. Mọi thứ diễn ra trên máy bạn: không tải lên, không theo dõi, dùng offline được sau lần tải đầu. Thêm công cụ miễn phí tại dec0de.dev, tìm hiểu sâu ở What is Base64?

Dùng phổ biến: nhúng icon hay font nhỏ vào CSS bằng data: URI để bớt một request, gắn logo vào email HTML, để khóa hoặc chứng chỉ trong config JSON/YAML, và chuyển nhị phân qua kênh chỉ-văn-bản. Tùy chọn URL-safe (RFC 4648 §5) đổi +/ thành -_ để chuỗi an toàn trong URL và tên file, còn ngắt dòng ở 76 ký tự đúng như email MIME mong đợi. Vì đầu ra là văn bản thuần nên nó nguyên vẹn qua copy-paste, chat và log — nhưng nhớ Base64 không phải nén (kết quả lớn hơn ~33%) và không phải bảo mật (đảo ngược dễ dàng).

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

Base64 có phải mã hóa không?

Không. Base64 là một cách mã hoá (encoding), không phải mã hóa bảo mật (encryption) — nó chỉ đổi định dạng dữ liệu và ai cũng giải mã được ngay. Đừng dùng nó để giấu mật khẩu hay bí mật.

Vì sao Base64 lớn hơn bản gốc?

Base64 biểu diễn mỗi 3 byte thành 4 ký tự, nên văn bản mã hoá lớn hơn đầu vào khoảng 33%. Phần dôi ra đó là cái giá để đưa nhị phân sang dạng text an toàn.

Tôi chuyển ảnh sang Base64 được không?

Có. Kéo một ảnh (hoặc file bất kỳ) vào khung bên phải và bạn nhận được data: URI để dán thẳng vào CSS hoặc HTML. Ảnh còn có xem trước trực tiếp.

Tôi có thể đưa Base64 trở lại thành file không?

Có. Dán Base64 vào khung bên trái (data: URI cũng được — tiền tố bị bỏ tự động). Công cụ nhận diện kiểu file từ các byte đã giải mã và cho tải về đúng phần mở rộng, kèm xem trước với ảnh.

Dữ liệu của tôi có bị tải lên server không?

Không. Toàn bộ mã hoá và giải mã chạy hoàn toàn trong trình duyệt bằng JavaScript. Những gì bạn gõ hay thả vào không bị gửi đi đâu, và chạy offline sau lần truy cập đầu.

Base64 an toàn cho URL là gì?

Một biến thể thay + và / bằng - và _ (và thường bỏ ký tự đệm =) để chuỗi an toàn trong URL và tên file. Base64 chuẩn dùng + và /. Bật tùy chọn URL-safe và “Bỏ ký tự đệm” ở trên — khi giải mã, cả hai biến thể đều được chấp nhận tự động.

Gzip + Base64 dùng để làm gì?

Nén trước rồi mới mã hoá Base64 chính là cách các yêu cầu xác thực SAML (HTTP-Redirect binding), nhiều giá trị Secret của Kubernetes, và một số payload log/telemetry được truyền đi dưới dạng văn bản gọn nhẹ. Bật tùy chọn Gzip ở trên: văn bản gõ vào sẽ được nén gzip trước khi mã hoá, còn Base64 dán vào khung bên trái sẽ tự động được giải nén sau khi giải mã.

Tôi có thể giải mã chuỗi Base64 trực tiếp thành PNG tải về được không?

Có. Dán Base64 vào khung bên trái — có hay không có tiền tố data:image/png;base64, đều được, vì tiền tố sẽ tự động bị loại bỏ. Công cụ nhận diện đó là PNG (hoặc JPEG, GIF, WebP và nhiều định dạng khác) từ chính các byte đã giải mã, hiển thị xem trước trực tiếp, và nút “Tải về dạng file” đã điền sẵn phần mở rộng .png.