Mã hóa & giải mã Base64 online, hỗ trợ tiếng Việt
Chuyển văn bản sang Base64 hoặc giải mã ngược lại ngay trên trình duyệt. Xử lý đúng chữ tiếng Việt có dấu (UTF-8), hỗ trợ định dạng URL-safe, không gửi dữ liệu lên máy chủ nào.
Dữ liệu cập nhật ngày 25/08/2026
Base64 là gì
Base64 là cách biểu diễn dữ liệu nhị phân (byte) bằng 64 ký tự văn bản in được (chữ cái, số, và hai ký tự +, /), dùng khi cần nhúng dữ liệu vào những nơi chỉ chấp nhận văn bản thuần túy như JSON, URL, email hay file cấu hình - ví dụ nhúng ảnh nhỏ trực tiếp vào CSS/HTML, hoặc mã hóa phần payload của JWT (JSON Web Token).
Base64 không phải là mã hóa bảo mật
Đây là điểm dễ hiểu nhầm nhất: Base64 chỉ đổi cách BIỂU DIỄN dữ liệu, không hề ẩn giấu hay bảo vệ nội dung - bất kỳ ai cũng giải mã ngược lại tức thì mà không cần mật khẩu. Tuyệt đối không dùng Base64 để "giấu" mật khẩu, API key hay thông tin nhạy cảm; cần thuật toán mã hóa thật sự (như AES) cho mục đích bảo mật.
Vì sao phải xử lý UTF-8 riêng cho tiếng Việt
Hàm btoa() tiêu chuẩn của trình duyệt chỉ hiểu chuỗi theo từng mã ký tự UTF-16 như thể là 1 byte - với ký tự ASCII (a-z, 0-9) điều này đúng, nhưng ký tự tiếng Việt có dấu chiếm nhiều byte theo chuẩn UTF-8 nên dùng thẳng btoa() sẽ báo lỗi hoặc ra kết quả sai. Công cụ này chuyển văn bản thành mảng byte UTF-8 chuẩn trước, đảm bảo mã hóa và giải mã đúng 100% với mọi ký tự tiếng Việt.
Base64 chuẩn và URL-safe
Base64 chuẩn dùng ký tự + và /, hai ký tự vốn có ý nghĩa riêng trong URL nên khi nhúng trực tiếp dễ gây lỗi đường dẫn. Base64 URL-safe thay hai ký tự này bằng - và _, đồng thời bỏ dấu = đệm cuối chuỗi - dạng này dùng được ngay trong URL, tên file hay tham số query mà không cần encode thêm lần nữa.
Câu hỏi thường gặp
Chuỗi tôi mã hóa/giải mã Base64 có bị máy chủ nào lưu lại không?
Không. Việc mã hóa và giải mã dùng các API chuẩn của trình duyệt (TextEncoder/TextDecoder, btoa/atob), chạy hoàn toàn phía client. Không có chuỗi nào - kể cả token hay dữ liệu cấu hình nội bộ - được gửi ra ngoài trình duyệt của bạn.
Vì sao mã hóa Base64 tiếng Việt có dấu bằng công cụ khác lại ra kết quả sai hoặc lỗi?
Nhiều công cụ dùng thẳng hàm btoa() của trình duyệt - hàm này chỉ hiểu ký tự theo từng byte đơn (Latin1), trong khi ký tự tiếng Việt có dấu như "á", "đ" chiếm nhiều byte theo chuẩn UTF-8 nên btoa() thẳng sẽ báo lỗi "Invalid character" hoặc ra kết quả sai. Công cụ này chuyển văn bản sang byte UTF-8 chuẩn trước khi mã hóa, nên xử lý đúng 100% tiếng Việt có dấu.
Base64 có phải là mã hóa bảo mật không?
Không. Base64 chỉ là cách BIỂU DIỄN dữ liệu nhị phân bằng ký tự văn bản thông thường (để nhúng vào JSON, URL, email...), hoàn toàn không có mục đích bảo mật - bất kỳ ai cũng giải mã ngược lại được ngay lập tức mà không cần mật khẩu hay khóa bí mật nào. Không nên dùng Base64 để giấu thông tin nhạy cảm như mật khẩu; cần mã hóa thật sự (ví dụ AES) cho mục đích đó.
Base64 chuẩn và Base64 URL-safe khác nhau thế nào?
Base64 chuẩn dùng ký tự "+" và "/", hai ký tự này có ý nghĩa đặc biệt trong URL (dấu cách và phân tách tham số) nên nhúng thẳng vào URL dễ gây lỗi. Base64 URL-safe thay "+" bằng "-", "/" bằng "_" và bỏ dấu "=" đệm ở cuối, cho ra chuỗi dùng an toàn trực tiếp trong URL hoặc tên file mà không cần encode thêm. JWT (JSON Web Token) dùng đúng dạng URL-safe này.
Vì sao giải mã báo "dữ liệu không phải văn bản UTF-8 hợp lệ"?
Vì chuỗi Base64 bạn nhập giải mã ra được byte, nhưng các byte đó không tạo thành ký tự UTF-8 hợp lệ - thường gặp khi chuỗi Base64 đó thực ra mã hóa dữ liệu nhị phân (ảnh, file PDF, âm thanh...) chứ không phải văn bản thuần túy. Công cụ này chỉ hiển thị được kết quả dạng văn bản, không hỗ trợ xem/tải lại file nhị phân từ chuỗi Base64.
Công cụ liên quan
Định dạng JSON
MớiĐịnh dạng, làm đẹp và kiểm tra cú pháp JSON ngay trên trình duyệt. Báo lỗi kèm số dòng, số cột cụ thể, hỗ trợ rút gọn (minify) và sao chép kết quả, không gửi dữ liệu lên máy chủ.
So sánh văn bản
MớiSo sánh hai đoạn văn bản hoặc đoạn code theo từng dòng, làm nổi bật phần thêm và phần xóa như git diff. Xử lý ngay trên trình duyệt, hỗ trợ bỏ qua khoảng trắng và không phân biệt hoa/thường.
Chuyển đổi kiểu chữ
MớiChuyển đổi văn bản hoặc tên biến sang camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case và nhiều kiểu khác cùng lúc. Tự nhận diện từ dù bạn nhập theo kiểu nào.
Tính Subnet/CIDR
MớiTính subnet mask, wildcard mask, địa chỉ mạng, địa chỉ broadcast, dải host khả dụng từ địa chỉ IPv4 kèm tiền tố CIDR hoặc subnet mask. Xử lý ngay trên trình duyệt, không gửi dữ liệu đi đâu.