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

Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.

Cập nhật

Mã hóa tệp sang Base64

Chọn tệp hoặc kéo thả vào đây — hình ảnh, PDF, font, bất kỳ tệp nào tối đa 50 MB.
Tệp được đọc ngay trên máy và không bao giờ được tải lên.

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?5.0 1 lượt đánh giá
Chuyển ảnh sang Base64 data URI kèm đoạn mã CSS và <img> sẵn dùng, hoặc giải mã Base64 thành ảnhẢnh sang Base64 →

Cách dùng Mã hóa / Giải mã Base64

  1. Chọn Mã hóa để chuyển văn bản thành Base64, hoặc Giải mã để chuyển Base64 về văn bản.
  2. Nhập hoặc dán nội dung vào ô bên trái — kết quả cập nhật ngay lập tức. Nếu dán Base64 ở chế độ Mã hóa, công cụ sẽ gợi ý chuyển sang Giải mã.
  3. Đánh dấu An toàn URL khi làm việc với token và URL (dùng - và _ thay cho + và /, không có ký tự đệm).
  4. Để mã hóa tệp, kéo thả tệp vào vùng tải tệp; dùng Sao chép dưới dạng data URI để nhúng vào HTML hoặc CSS.
  5. Nếu dữ liệu giải mã là nhị phân (hình ảnh, PDF…), bạn sẽ thấy bản xem trước và nút Tải tệp xuống.

Base64 là gì?

Base64 là một cách mã hóa biểu diễn dữ liệu nhị phân chỉ bằng 64 ký tự ASCII có thể in được: A–Z, a–z, 0–9, + và /, với = dùng làm ký tự đệm. Mục đích của nó là giúp các byte bất kỳ — hình ảnh, khóa, dữ liệu nén — có thể đi qua các hệ thống được thiết kế cho văn bản, như email (MIME), payload JSON, thuộc tính HTML, header HTTP và biến môi trường. Base64 không phải là mã hóa bảo mật: ai cũng có thể giải mã, vì vậy đừng dùng nó để che giấu mật khẩu hay bí mật.

Cách hoạt động của mã hóa Base64

Bộ mã hóa lấy đầu vào từng nhóm ba byte (24 bit) và chia thành bốn nhóm 6 bit. Mỗi giá trị 6 bit (0–63) được ánh xạ thành một ký tự trong bảng chữ cái. Ví dụ, văn bản Man gồm các byte 4D 61 6E, tương ứng các giá trị 6 bit 19, 22, 5, 46 → TWFu. Khi độ dài đầu vào không chia hết cho ba, đầu ra sẽ được thêm một hoặc hai dấu =. Do đó, kết quả Base64 luôn lớn hơn bản gốc khoảng 33% (cứ 3 byte thành 4 ký tự).

UTF-8 và vấn đề của “btoa”

Base64 mã hóa byte chứ không phải ký tự, nên văn bản cần được chuyển sang byte trước. Công cụ này luôn dùng UTF-8, bảng mã tiêu chuẩn của web. Điều này rất quan trọng: hàm btoa("é") có sẵn trong JavaScript cho kết quả 6Q== (Latin-1), trong khi UTF-8 cho w6k=, còn btoa("👋") thì báo lỗi. Nếu chuỗi giải mã hiện ký tự lỗi kiểu é, nhiều khả năng dữ liệu gốc được mã hóa bằng bảng mã khác.

Base64 chuẩn so với Base64URL

Chuẩn (RFC 4648 §4)An toàn URL (RFC 4648 §5)
Ký tự 62 và 63+ và /- và _
Ký tự đệmBắt buộc =Thường được bỏ qua
Được dùng trongEmail MIME, data URI, khóa PEM, Basic AuthJWT, tham số URL, tên tệp

Bộ giải mã chấp nhận cả hai biến thể, có hoặc không có ký tự đệm và có ngắt dòng, nên bạn có thể dán giá trị từ bất kỳ nguồn nào — kể cả các URI đầy đủ dạng data:image/png;base64,….

Các ứng dụng phổ biến

  • Data URI — nhúng icon nhỏ trực tiếp vào CSS hoặc HTML (xem thêm công cụ Hình ảnh sang Base64).
  • HTTP Basic Auth — header có dạng Basic + Base64 của user:password.
  • JWT — phần header và payload là JSON được mã hóa Base64URL; bạn có thể kiểm tra bằng JWT Decoder.
  • Secret của Kubernetes — các giá trị trong manifest Secret được mã hóa Base64.

Cũng được tìm dưới tên: mã hóa base64, giải mã base64, base64 sang text, chuyển text sang base64, base64url, file sang base64, atob, btoa.

Các công cụ dùng kèm tốt với Mã hóa / Giải mã Base64

  • Mã hóa / Giải mã URL — Mã hóa văn bản để dùng an toàn trong URL, giải mã chuỗi đã mã hóa về dạng dễ đọc và tách mọi URL thành các phần cùng tham số truy vấn.
  • Mã hóa HTML Entity — Escape < > & " để văn bản hiển thị an toàn trong HTML, chuyển dấu và ký hiệu sang entity dạng tên hoặc số, hoặc giải mã HTML chứa entity về văn bản thuần.
  • Dịch Mã Morse — Nhập văn bản để có mã Morse, hoặc dán chấm và gạch để giải mã.
  • Chuyển văn bản sang nhị phân — Nhập văn bản để xem dưới dạng mã nhị phân, hoặc dán chuỗi nhị phân (hoặc hex, bát phân, thập phân) để dịch ngược lại thành văn bản dễ đọc.

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

Base64 có phải là mã hóa bảo mật không?
Không. Base64 là một cách mã hóa có thể đảo ngược và không cần khóa — ai cũng có thể giải mã ngay lập tức. Hãy dùng mã hóa thật sự (ví dụ AES) để bảo vệ dữ liệu, và băm (xem Hash Generator của chúng tôi) để kiểm tra tính toàn vẹn.
Vì sao văn bản sau khi giải mã bị lỗi ký tự?
Có thể dữ liệu là nhị phân (hình ảnh hoặc tệp nén) chứ không phải văn bản, hoặc văn bản được mã hóa bằng bảng mã khác UTF-8. Dữ liệu nhị phân sẽ được tự động nhận diện và đề xuất tải xuống dưới dạng tệp.
Vì sao kết quả Base64 dài hơn dữ liệu đầu vào?
Cứ 3 byte biến thành 4 ký tự, nên kết quả lớn hơn khoảng 33% — cộng thêm tối đa 2 ký tự đệm, và một lần ngắt dòng sau mỗi 76 ký tự nếu bật chế độ MIME.
Dấu = ở cuối có ý nghĩa gì?
Đó là ký tự đệm. Một dấu = nghĩa là nhóm cuối có 2 byte, hai dấu == nghĩa là nhóm cuối có 1 byte. Base64 an toàn URL thường bỏ ký tự đệm; bộ giải mã này xử lý được cả hai trường hợp.
Tệp của tôi có bị tải lên máy chủ không?
Không. Tệp được đọc bằng API FileReader của trình duyệt và mã hóa ngay trên máy của bạn. Không có dữ liệu nào được gửi đến máy chủ.
Tôi có thể cài Mã hóa / Giải mã Base64 như một ứng dụng web và dùng khi không có mạng không?
Có. Mã hóa / Giải mã Base64 là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan