Bỏ qua điều hướng, tới nội dung chính
Tiện Ích Số

Mã hóa và giải mã Base64

Encode và decode Base64 online hỗ trợ tiếng Việt UTF-8, tùy chọn URL-safe. Chuyển text sang Base64 và ngược lại ngay trên trình duyệt, miễn phí.

Nội dung: Ban biên tập Tiện Ích SốCập nhật:

Hỗ trợ đầy đủ tiếng Việt có dấu nhờ mã hóa UTF-8 trước khi Base64.

Kết quả Base64

Nhập văn bản ở trên để xem chuỗi Base64.

Base64 chỉ là cách biểu diễn dữ liệu bằng chữ cái an toàn cho văn bản — không phải mã hóa bảo mật. Ai cũng có thể giải mã được chuỗi Base64.

Base64 là gì?

Base64 là cách biểu diễn dữ liệu nhị phân bằng tập 64 ký tự (A–Z, a–z, 0–9, và thường là + / cùng dấu = để padding). Mục tiêu không phải che giấu thông tin, mà là đưa dữ liệu qua các kênh chỉ an toàn với văn bản: email (MIME), JSON, thuộc tính HTML, hoặc tham số URL (khi dùng biến thể URL-safe). Mỗi ba byte gốc được gom thành bốn ký tự Base64; nếu số byte không chia hết cho ba, chuỗi kết thúc bằng một hoặc hai dấu bằng để đánh dấu padding.

Công cụ trên trang này hỗ trợ hai chiều: Encode (văn bản → Base64) và Decode (Base64 → văn bản). Văn bản tiếng Việt được xử lý đúng nhờ quy trình UTF-8: mã hóa từng ký tự có dấu thành chuỗi byte, rồi mới gọi Base64 — tránh lỗi thường gặp khi dùng hàm btoa trực tiếp trên chuỗi JavaScript chứa dấu. Giải mã đi đường ngược lại với atob rồi TextDecoder, nên chữ ă, â, đ, ê, ô, ơ, ư và các dấu thanh được khôi phục nguyên vẹn.

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

Lập trình viên và người làm nội dung số dùng Base64 rất thường xuyên trong các tình huống thực tế:

  • Nhúng ảnh hoặc file nhỏ dạng data URI (data:image/png;base64,...) để trang tải được mà không cần file rời.
  • Truyền token, khóa công khai hoặc payload trong header HTTP và cấu hình dạng text.
  • Lưu tạm dữ liệu nhị phân trong log, biến môi trường hoặc ticket hỗ trợ kỹ thuật.
  • Kiểm tra nhanh chuỗi Base64 nhận từ đồng nghiệp hay tài liệu API có giải ra đúng nội dung UTF-8 hay không.
  • Đưa chuỗi vào URL hoặc tên file nhờ biến thể URL-safe (đổi + thành -, / thành _, bỏ =) theo RFC 4648 mục 5.

Tùy chọn URL-safe trên form giúp bạn chuyển qua lại giữa bảng chữ chuẩn và bảng chữ an toàn cho đường dẫn mà không cần công cụ khác.

Base64 không phải mã hóa bảo mật

Dù giao diện hay gọi là “mã hóa Base64”, bản chất chỉ là encoding (đổi dạng biểu diễn), không cung cấp bảo mật. Ai cũng có thể giải mã bằng một công cụ decode công khai. Không dùng Base64 để giấu mật khẩu, che số tài khoản, hay bảo vệ dữ liệu nhạy cảm. Nhu cầu bảo mật cần HTTPS, thuật toán mật mã đúng chuẩn (ví dụ AES, hộp thư mã hóa đầu cuối) và quy trình quản lý khóa — Base64 không thay thế được các lớp đó.

Ví dụ minh họa: chuỗi Xin chào Việt Nam sau khi encode UTF-8 Base64 trở thành một dãy chữ ASCII dài; bất kỳ ai dán vào ô Decode cũng đọc lại được đúng tiếng Việt. Nếu chuỗi bị cắt, lẫn ký tự lạ, hoặc không thuộc bảng Base64, công cụ báo lỗi rõ bằng tiếng Việt thay vì hiện kết quả sai lệch.

Cách dùng và lưu ý thực tế

Chọn Encode hoặc Decode, dán nội dung vào ô nhập, bật URL-safe khi chuỗi sẽ nằm trong URL, rồi nhấn Sao chép kết quả. Nút “Đảo chiều” đưa kết quả hiện tại sang chiều ngược để kiểm tra round-trip nhanh. Khoảng trắng và xuống dòng trong chuỗi Base64 khi decode thường được bỏ qua để bạn dán từ email hay PDF cho tiện.

Mọi phép tính chạy hoàn toàn trên trình duyệt của bạn, không gửi văn bản lên máy chủ. Với file nhị phân lớn hay chứng chỉ, hãy cân nhắc công cụ chuyên dụng trên máy tính; trang này tối ưu cho văn bản và chuỗi Base64 vừa phải thường gặp khi lập trình web, debug API hoặc soạn tài liệu kỹ thuật.

Base64 không phải mã hóa bảo mật

Đây là điểm hay bị hiểu nhầm nhất. Base64 chỉ là cách biểu diễn lại dữ liệu để truyền an toàn qua các kênh chỉ chấp nhận văn bản — bất kỳ ai cũng giải mã ngược trong một giây. Đừng bao giờ dùng nó để giấu mật khẩu hay token.

Cùng nhóm hiểu nhầm này là mã hóa URL, cũng là phép biểu diễn chứ không phải bảo mật. Khi bạn thực sự cần một giá trị không thể đảo ngược — ví dụ để so sánh hay lưu dấu vân dữ liệu — thì hàm băm SHA mới là công cụ đúng, và với cả một tệp thì dùng công cụ tính mã băm file.

Khi debug API, chuỗi bạn giải mã từ Base64 thường là JSON — công cụ format JSON giúp bung ra dạng dễ đọc và bắt lỗi cú pháp ngay.

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

Base64 có phải mã hóa bảo mật không?

Không. Base64 chỉ chuyển dạng dữ liệu sang chữ cái an toàn cho văn bản. Ai cũng có thể giải mã. Để bảo mật hãy dùng mã hóa mật mã và kênh HTTPS, không dựa vào Base64.

Tại sao công cụ này hỗ trợ được tiếng Việt có dấu?

Vì văn bản được đưa qua UTF-8 (TextEncoder/TextDecoder) trước khi gọi btoa/atob. Cách này tránh lỗi hoặc mất dấu khi chuỗi JavaScript chứa ký tự ngoài Latin-1.

URL-safe Base64 khác Base64 thường thế nào?

URL-safe thay + thành -, / thành _ và thường bỏ dấu = để chuỗi an toàn hơn trong URL hoặc tên file. Khi giải mã, công cụ tự chuyển lại bảng chữ chuẩn.

Vì sao decode báo chuỗi Base64 không hợp lệ?

Chuỗi có thể thiếu ký tự, lẫn khoảng trắng lạ, dùng sai bảng chữ, hoặc không phải UTF-8 hợp lệ sau khi giải. Hãy kiểm tra lại nguồn chuỗi và thử bật/tắt tùy chọn URL-safe nếu chuỗi dùng - và _.

Gợi ý theo quy trình thường dùng cùng lúc — không chỉ cùng nhóm Developer.

← Xem toàn bộ công cụ