Chuyển đến nội dung
SPCXTools

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

Chuyển đổi văn bản và file sang Base64 và ngược lại, hỗ trợ đầy đủ UTF-8 và Base64URL.

Chạy cục bộ — tệp không bao giờ rời khỏi thiết bị của bạn

Đang tải công cụ…

Cách sử dụng Mã hóa & Giải mã Base64

  1. 1Chọn Mã hóa để chuyển văn bản sang Base64, hoặc Giải mã để chuyển Base64 ngược lại thành văn bản.
  2. 2Nhập hoặc dán nội dung vào ô nhập liệu — kết quả sẽ được cập nhật ngay lập tức.
  3. 3Đánh dấu URL-safe (Base64URL) nếu kết quả sẽ được dùng trong URL, tên file hoặc JWT.
  4. 4Để mã hóa file, hãy chọn hoặc kéo thả file vào khu vực tải file; đánh dấu Data URL để nhận chuỗi có thể dán vào HTML hoặc CSS.
  5. 5Sao chép kết quả, hoặc ở chế độ giải mã, bạn có thể tải xuống dữ liệu đã giải mã dưới dạng file.

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

Base64 là phương pháp biểu diễn mọi dữ liệu — văn bản, hình ảnh, PDF, khóa — chỉ bằng 64 ký tự an toàn: A–Z, a–z, 0–9, + và /. Công cụ này giúp mã hóa văn bản và tệp sang Base64, đồng thời giải mã Base64 ngược lại thành văn bản hoặc tệp gốc. Quá trình chuyển đổi diễn ra ngay lập tức trên trình duyệt, không có bất kỳ dữ liệu nào bạn dán hoặc chọn bị tải lên máy chủ.

Tính năng chính

  • Mã hóa văn bản sang Base64 hỗ trợ chuẩn UTF-8, tương thích với mọi ngôn ngữ và biểu tượng cảm xúc (emoji).
  • Giải mã Base64 sang văn bản, tự động xử lý các lỗi ngắt dòng, khoảng trắng và thiếu ký tự đệm (padding) — thường gặp khi sao chép từ email hoặc log.
  • Chế độ Base64URL tạo đầu ra an toàn cho URL, thường được dùng trong JWT, OAuth và nhiều web API.
  • Chuyển tệp sang Base64, với tùy chọn xuất URL data: hoàn chỉnh, sẵn sàng sử dụng cho thẻ <img src> hoặc url() trong CSS.
  • Chuyển Base64 sang tệp: tải xuống dữ liệu đã giải mã nếu nội dung là tệp nhị phân, chẳng hạn như hình ảnh hoặc PDF.

Base64 được sử dụng ở đâu

Tệp đính kèm email. Tiêu chuẩn MIME mã hóa các tệp đính kèm bằng Base64 để các tệp nhị phân có thể truyền tải an toàn qua các hệ thống được thiết kế cho văn bản.

Data URL. Các biểu tượng và hình ảnh nhỏ có thể được nhúng trực tiếp vào HTML hoặc CSS dưới dạng data:image/png;base64,…, giúp giảm bớt một yêu cầu mạng.

API và cấu hình. Các giá trị nhị phân như chứng chỉ, khóa mã hóa hoặc tệp tải lên thường được gửi trong JSON dưới dạng chuỗi Base64. Kubernetes secrets và nhiều biến môi trường cũng lưu trữ giá trị bằng Base64.

Xác thực. Xác thực HTTP Basic gửi username:password được mã hóa bằng Base64 và JSON Web Token gồm ba phần được mã hóa bằng Base64URL. Để xem nội dung của token, hãy sử dụng công cụ Giải mã JWT.

Base64 hoạt động như thế nào

Bộ mã hóa lấy đầu vào 3 byte (24 bit) mỗi lần và chia thành 4 nhóm, mỗi nhóm 6 bit. Mỗi giá trị 6 bit (0–63) tương ứng với một ký tự trong bảng chữ cái Base64. Khi độ dài đầu vào không phải là bội số của 3, đầu ra sẽ được đệm thêm một hoặc hai dấu = để độ dài của nó là bội số của 4.

Vì cứ 3 byte sẽ biến thành 4 ký tự, dữ liệu Base64 lớn hơn khoảng một phần ba so với bản gốc. Sự gia tăng dung lượng này là sự đánh đổi để có thể truyền dữ liệu nhị phân an toàn qua các hệ thống chỉ hỗ trợ văn bản.

Base64 không giống với mã hóa URL. Nếu bạn cần đưa văn bản bất kỳ vào chuỗi truy vấn (query string), hãy sử dụng công cụ Mã hóa/Giải mã URL. Để kiểm tra xem hai tệp có giống hệt nhau hay không, hãy so sánh mã checksum của chúng bằng công cụ Tạo mã Hash.

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ã hóa định dạng (encoding), không phải mã hóa bảo mật (encryption). Bất kỳ ai cũng có thể giải mã mà không cần khóa. Chỉ dùng nó để truyền dữ liệu nhị phân qua các kênh văn bản, tuyệt đối không dùng để giấu thông tin bí mật.
Tại sao kết quả Base64 lại lớn hơn đầu vào?
Base64 biểu diễn mỗi 3 byte bằng 4 ký tự, do đó dữ liệu sau khi mã hóa sẽ lớn hơn khoảng 33% so với bản gốc (cộng thêm tối đa hai ký tự đệm =).
Base64URL là gì?
Base64URL thay thế + bằng - và / bằng _, đồng thời thường lược bỏ ký tự đệm = ở cuối, giúp chuỗi an toàn khi dùng trong URL và tên file. JSON Web Tokens sử dụng Base64URL. Bộ giải mã ở đây tự động hỗ trợ cả hai biến thể này.
Công cụ có hỗ trợ emoji và ngôn ngữ khác ngoài tiếng Anh không?
Có. Văn bản được chuyển đổi thành các byte UTF-8 trước khi mã hóa và được giải mã dưới dạng UTF-8, do đó các chữ có dấu, tiếng Trung, tiếng Ả Rập, emoji và các ký tự khác đều được chuyển đổi qua lại chính xác.
File của tôi có bị tải lên máy chủ không?
Không. Các file được đọc bằng File API của trình duyệt và được mã hóa ngay trên thiết bị của bạn. Không có dữ liệu nào bị gửi lên máy chủ.
Văn bản sau khi giải mã trông như các ký tự vô nghĩa — tại sao vậy?
Chuỗi Base64 đó có thể chứa dữ liệu nhị phân như hình ảnh, PDF hoặc file nén thay vì văn bản. Hãy dùng Download file để lưu các byte đã giải mã, sau đó mở file bằng phần mềm phù hợp.