Trả lời nhanh
Base64 biểu diễn dữ liệu bất kỳ bằng 64 ký tự an toàn (A–Z, a–z, 0–9, + và /), cứ 3 byte thành 4 ký tự nên dung lượng tăng khoảng 33%. “Xin chào Việt Nam” (20 byte UTF-8) mã hoá thành WGluIGNow6BvIFZp4buHdCBOYW0=.
Base64 là gì?
Công cụ mã hoá và giải mã Base64 cho văn bản tiếng Việt (UTF-8) và cho tệp bất kỳ tới 10 MB. Hỗ trợ Base64 chuẩn, Base64URL dùng trong JWT, ngắt dòng 76 ký tự kiểu email (MIME) và data URI; khi giải mã ngược thành tệp, loại tệp được nhận diện từ nội dung. Mọi xử lý chạy trên trình duyệt.

Cách mã hoá và giải mã Base64
- 1
Tab “Văn bản”: chọn “Mã hoá → Base64” hoặc “Giải mã Base64 →”, rồi gõ hoặc dán nội dung; kết quả hiện ngay bên cạnh.
- 2
Bật “Base64URL” khi cần chuỗi dùng trong URL, tên tệp hay JWT; bật “Ngắt dòng mỗi 76 ký tự” cho email. Bấm “Đổi chiều” để giải mã lại kết quả.
- 3
Tab “Tệp” → “Tệp → Base64”: bấm “Chọn tệp cần mã hoá”, tuỳ chọn xuất dạng data URI, rồi sao chép hoặc “Tải xuống .txt”.
- 4
Tab “Tệp” → “Base64 → Tệp”: dán chuỗi Base64 hoặc data URI, xem loại tệp được nhận diện, xem trước ảnh và bấm “Tải tệp”.
Các biến thể Base64
| Biến thể | Ký tự dùng | Dấu = ở cuối | Dùng ở đâu |
|---|---|---|---|
| Base64 chuẩn (RFC 4648) | A–Z a–z 0–9 + / | Có | Dữ liệu trong JSON, XML, cấu hình |
| Base64URL (RFC 4648 §5) | A–Z a–z 0–9 - _ | Thường bỏ (công cụ bỏ) | URL, tên tệp, JWT |
| MIME (email) | Như chuẩn | Có | Tệp đính kèm email, ngắt dòng mỗi 76 ký tự |
| Data URI | Như chuẩn, thêm tiền tố data:…;base64, | Có | Nhúng ảnh, font nhỏ vào HTML / CSS |
Vuốt ngang để xem cả bảng →
Dung lượng sau khi mã hoá
Mỗi 3 byte dữ liệu thành 4 ký tự Base64 (làm tròn lên), nên kết quả lớn hơn bản gốc khoảng 4/3.
| Dữ liệu gốc | Base64 | Ghi chú |
|---|---|---|
| 1 byte | 4 ký tự (2 dấu =) | Dấu = bù cho đủ nhóm 4 |
| 20 byte (“Xin chào Việt Nam”) | 28 ký tự | Chữ có dấu chiếm 2–3 byte UTF-8 |
| 300 KB | Khoảng 400 KB | Ảnh nhúng dạng data URI làm HTML nặng thêm |
| 3 MB | 4 MB | Ngắt dòng mỗi 76 ký tự thêm khoảng 1,3% ký tự xuống dòng |
Ví dụ thực tế
Đọc phần dữ liệu của JWT
Token JWT gồm 3 phần cách nhau bằng dấu chấm. Dán phần giữa vào chế độ giải mã: công cụ tự nhận Base64URL và hiện nội dung JSON (người dùng, thời hạn…). Lưu ý chữ ký không được kiểm tra.
Nhúng icon nhỏ vào CSS
Chọn tệp SVG hoặc PNG vài KB ở tab Tệp, bật “data URI” rồi dán vào background-image: url(…). Chỉ nên làm với tệp nhỏ vì dung lượng tăng khoảng 33%.
Khôi phục ảnh từ API
API trả ảnh dạng chuỗi Base64? Dán vào “Base64 → Tệp”: công cụ nhận ra PNG hay JPEG từ nội dung, cho xem trước và tải về đúng đuôi tệp.
Mã hoá văn bản có dấu
“Xin chào Việt Nam” cho WGluIGNow6BvIFZp4buHdCBOYW0=. Giải mã ngược lại ra đúng chuỗi ban đầu vì công cụ dùng UTF-8 cho cả hai chiều.
Lỗi thường gặp
- Giải mã ra ký tự lạ hoặc báo “không phải văn bản UTF-8”.
- Dữ liệu gốc là tệp nhị phân (ảnh, PDF, zip…). Hãy dùng tab “Tệp” → “Base64 → Tệp” để khôi phục tệp thay vì xem dạng chữ.
- Báo độ dài không hợp lệ.
- Chuỗi Base64 bị thiếu ký tự, thường do sao chép chưa hết. Khoảng trắng và xuống dòng thì không sao, công cụ tự bỏ qua.
- Báo ký tự không thuộc bảng chữ Base64.
- Chuỗi có dấu cách lạ, dấu ngoặc hay đoạn văn bản dính vào. Thông báo chỉ rõ vị trí ký tự để bạn xoá.
- Dấu “=” không đúng chỗ.
- Chỉ được tối đa 2 dấu = ở cuối chuỗi. Có thể bạn đã ghép hai chuỗi Base64 lại với nhau; hãy giải mã từng chuỗi.
- Tệp lớn hơn 10 MB không chọn được.
- Giới hạn 10 MB giúp trình duyệt không bị treo. Với tệp lớn hơn, nên gửi tệp gốc thay vì chuyển sang Base64.
- Nghĩ Base64 giúp bảo mật dữ liệu.
- Base64 chỉ là cách viết lại dữ liệu, ai cũng giải mã được. Đừng dùng nó để giấu mật khẩu hay thông tin nhạy cảm.
Thuật ngữ
- Mã hoá Base64 (encode)
- Chuyển byte thành chuỗi gồm 64 ký tự an toàn để truyền qua hệ thống chỉ nhận văn bản.
- Padding (=)
- Một hoặc hai dấu = ở cuối, bù cho nhóm 4 ký tự khi dữ liệu không chia hết cho 3 byte.
- Base64URL
- Biến thể thay + / bằng - _ để chuỗi dùng an toàn trong URL và tên tệp.
- Data URI
- Chuỗi dạng data:<loại tệp>;base64,<dữ liệu> để nhúng tệp trực tiếp vào HTML hoặc CSS.
- UTF-8
- Cách biến chữ thành byte; chữ có dấu tiếng Việt chiếm 2–3 byte, nên phải dùng UTF-8 để giải mã đúng.
- Magic bytes
- Vài byte đầu đặc trưng cho từng loại tệp (PNG, JPEG, PDF…), dùng để nhận diện tệp sau khi giải mã.
Câu hỏi thường gặp
Base64 có phải là mã hoá bảo mật không?
Không. Base64 chỉ đổi cách biểu diễn dữ liệu, không có khoá bí mật, ai cũng giải mã được. Cần bảo mật thì dùng mã hoá thật như AES.
Công cụ có tự nhận Base64URL khi giải mã không?
Có. Chuỗi có - hoặc _ hay thiếu dấu = ở cuối đều giải mã được; công cụ báo “Đã nhận diện Base64URL”.
Dán data URI có được không?
Được. Phần “data:…;base64,” ở đầu được bỏ tự động; data URI không có “;base64” sẽ được báo lỗi rõ ràng.
Nhận diện được những loại tệp nào?
Hơn 25 loại phổ biến như PNG, JPEG, GIF, WebP, PDF, ZIP, SVG, MP3, MP4… dựa vào byte đầu tệp. Loại lạ vẫn tải về được dưới đuôi .bin.
Chuỗi Base64 rất dài có làm chậm trang không?
Ô kết quả chỉ hiển thị phần đầu khi chuỗi quá dài và nội dung dán lớn được thu gọn; sao chép và tải xuống vẫn lấy đầy đủ.
Dữ liệu có bị gửi lên máy chủ không?
Không. Văn bản và tệp được xử lý ngay trên trình duyệt, kể cả khi bạn tải kết quả về.
Đánh giá và bình luận
Đang tải…