Mã hóa
URL Encode/Decode
Mã hóa và giải mã URL — các ký tự cần được escape trong liên kết và tham số query.
URL encoding (percent-encoding) replaces characters that aren't allowed in a URL — spaces, non-Latin letters, special characters — with %XX sequences, where XX is the hex code of the byte. This keeps links and query parameters from getting mangled in transit.
How to use it
- Encode: paste text or a URL and any character outside the safe ASCII set is replaced with a %XX sequence.
- Decode: paste an encoded string to see the original text.
- Encoding a full URL and encoding a single query parameter use slightly different safe-character sets — pick the mode that matches what you're encoding.
Common uses
- Building query parameters from text containing spaces, ampersands, or non-Latin characters.
- Debugging why a link with a parameter breaks — often the cause is an unencoded special character.
- Decoding URLs from third-party systems to read them in their original form.
Things to keep in mind
Encode parameter values, not the whole URL at once — otherwise you'll also encode the separators you need (:, /, ?, &).
JavaScript's encodeURIComponent and encodeURI encode different character sets — the former is meant specifically for parameter values.
Bài viết về công cụ này: URL Encode/Decode: percent-encoding trong liên kết
Câu hỏi thường gặp
Sự khác biệt giữa mã hóa Component và URI là gì?
Mã hóa Component (encodeURIComponent) thoát gần như tất cả ký tự dành riêng, phù hợp cho một tham số truy vấn hoặc đoạn đường dẫn đơn lẻ. Mã hóa URI (encodeURI) giữ nguyên các ký tự như / : ? & = vì nó dùng để mã hóa toàn bộ URL vốn đã có cấu trúc.
Mã hóa URL có giống Base64 không?
Không, chúng thường bị nhầm lẫn nhưng là hai kỹ thuật khác nhau. Mã hóa URL (percent-encoding) thay ký tự không an toàn bằng chuỗi %XX và giữ hầu hết văn bản ASCII dễ đọc, còn Base64 mã hóa lại toàn bộ đầu vào bằng một bảng chữ cái gọn — bạn sẽ dùng Base64 an toàn cho URL cho mục đích khác, như nhúng dữ liệu nhị phân vào URL.
Công cụ này có gửi URL của tôi tới máy chủ không?
Không. Việc mã hóa và giải mã diễn ra hoàn toàn trong trình duyệt của bạn, nên không có gì bạn dán vào đây được truyền đi đâu cả.
Mã hóa hai lần là gì và nhận biết nó ra sao?
Đây là lỗi xảy ra khi một chuỗi đã được mã hóa lại bị mã hóa thêm lần nữa — ký tự % tự biến thành %25, khiến %20 trở thành %2520. Dấu hiệu của vấn đề là các chuỗi dạng %25XX xuất hiện trong kết quả đã giải mã.
Vì sao dấu cách đôi khi được mã hóa thành +, đôi khi thành %20?
+ cho dấu cách là định dạng application/x-www-form-urlencoded, dùng trong form và chuỗi query. %20 là percent-encoding chuẩn theo RFC 3986, hợp lệ ở bất kỳ phần nào của URL.