Mã hóa URL, query string và ký tự đặc biệt sang dạng percent encoding, hoặc giải mã văn bản đã mã hóa trở lại thành URL dễ đọc — ngay lập tức, trực tiếp trên trình duyệt. Công cụ này hoạt động như bộ mã hóa phần trăm, bộ giải mã phần trăm, bộ mã hóa query string, bộ giải mã query string và trình chuyển đổi mã hóa URL tương thích UTF-8, tất cả trong một trang.
Dán URL hoặc bất kỳ văn bản nào vào ô nhập liệu, chọn mã hóa hay giải mã, đồng thời cho biết bạn đang làm việc với một thành phần URL hay URL đầy đủ, rồi sao chép kết quả. Mọi thứ chạy cục bộ trên trình duyệt bằng các hàm URL gốc của JavaScript, nên dữ liệu nhập của bạn không bao giờ rời khỏi thiết bị.
Chế độ Thành phần mã hóa phần trăm các ký tự dành riêng như / ? # & = để một giá trị an toàn trong chuỗi truy vấn hoặc phân đoạn đường dẫn.
Đây là bộ mã hóa và giải mã URL riêng tư, chạy trên trình duyệt. Công cụ sử dụng các hàm gốc encodeURIComponent, encodeURI, decodeURIComponent và decodeURI để xử lý văn bản UTF-8 an toàn mà không truyền dữ liệu lên máy chủ.
Bộ mã hóa URL chuyển đổi các ký tự không thể dùng trực tiếp trong URL thành các chuỗi percent-encoded. Bộ giải mã URL đảo ngược quá trình đó, chuyển đổi văn bản đã mã hóa trở lại thành các ký tự gốc. Trang này thực hiện cả hai chiều, cho cả một thành phần URL lẫn URL đầy đủ.
Công cụ sử dụng bốn hàm JavaScript tiêu chuẩn:
Tất cả chuyển đổi đều tương thích UTF-8, do đó các chữ cái có dấu, emoji và ký tự từ các hệ thống chữ viết không phải Latin đều được xử lý chính xác. Không có gì được tải lên, không có gì được lưu trữ và không có lệnh gọi API nào được thực hiện.
Một số ví dụ thực tế về cách mã hóa URL hoạt động:
Chuyển công cụ sang chế độ Giải mã và dán bất kỳ chuỗi đã mã hóa nào ở trên để xem văn bản gốc được khôi phục chính xác.
Chọn đúng chế độ là điều quan trọng vì hai bộ mã hóa xử lý các ký tự đặc biệt khác nhau.
Sử dụng chế độ Thành phần (encodeURIComponent / decodeURIComponent) khi mã hóa một giá trị duy nhất sẽ được chèn vào URL — ví dụ giá trị tham số query, phân đoạn đường dẫn hoặc giá trị fragment. Chế độ Thành phần mã hóa phần trăm các ký tự đặc biệt (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) để chúng không vô tình thay đổi cấu trúc URL xung quanh.
Sử dụng chế độ URL Đầy đủ (encodeURI / decodeURI) khi bạn đã có URL đầy đủ như https://example.com/path?query=value#fragment và chỉ muốn escape các ký tự không an toàn (chẳng hạn dấu cách hoặc ký tự ngoài ASCII), mà không chạm vào các ký tự cấu trúc đặc biệt.
Lỗi phổ biến là dùng encodeURI cho giá trị được thiết kế làm tham số query. Các ký tự đặc biệt vẫn còn nguyên, có thể làm hỏng URL xung quanh. Khi nghi ngờ, hãy mã hóa từng giá trị query bằng encodeURIComponent rồi ghép URL lại.
Percent encoding (còn gọi là mã hóa URL) là cách biểu diễn trong URL các ký tự đặc biệt (có ý nghĩa cấu trúc) hoặc các ký tự không được phép. Mỗi byte không an toàn được viết dưới dạng dấu phần trăm theo sau là hai chữ số thập lục phân — ví dụ %20 cho dấu cách, %2F cho dấu gạch chéo hoặc %3F cho dấu hỏi.
Mã hóa hoạt động trên các byte, không phải trực tiếp trên ký tự. URL hiện đại sử dụng UTF-8 để chuyển đổi ký tự thành byte trước, đó là lý do tại sao một chữ cái có dấu có thể tạo ra hai byte được mã hóa phần trăm và một emoji có thể tạo ra bốn byte. Công cụ này luôn sử dụng UTF-8 để các chuỗi đã mã hóa có thể tương tác với phần còn lại của web.
Percent encoding được định nghĩa bởi RFC 3986. Các hàm JavaScript gốc được sử dụng ở đây triển khai đặc tả đó, vì vậy giá trị được mã hóa bằng encodeURIComponent trong bất kỳ trình duyệt hiện đại nào đều được giải mã chính xác bằng decodeURIComponent ở bất kỳ đâu.
Bộ mã hóa giải mã URL này hữu ích mỗi khi bạn cần chuyển văn bản vào hoặc ra khỏi URL một cách an toàn. Các tình huống phổ biến:
Vì công cụ chạy hoàn toàn trên trình duyệt, nó cũng phù hợp cho các URL nhạy cảm (liên kết nội bộ, token, URL đã ký) mà bạn không muốn dán vào dịch vụ từ xa.
Mã hóa URL và làm sạch URL là hai thao tác khác nhau thường bị nhầm lẫn.
Mã hóa URL (công cụ này) chuyển đổi ký tự sang dạng mã hóa phần trăm an toàn cho URL và đảo ngược lại. Cấu trúc URL được bảo toàn; không có gì được thêm vào hay xóa đi.
Làm sạch URL (một loại công cụ khác) xóa các tham số theo dõi như utm_source, utm_medium, fbclid, gclid và các khóa query tương tự khỏi URL, để liên kết kết quả không còn chứa metadata theo dõi. Làm sạch URL thay đổi các tham số trong URL — mã hóa thì không.
Nếu muốn xóa các tham số theo dõi, bạn cần một công cụ làm sạch URL chuyên dụng. Nếu muốn mã hóa hoặc giải mã văn bản sang/từ dạng mã hóa phần trăm, đây là công cụ phù hợp.
Bộ mã hóa URL chuyển đổi các ký tự đặc biệt hoặc không an toàn trong URL thành chuỗi percent-encoded (ví dụ dấu cách trở thành %20). Bộ giải mã URL đảo ngược quá trình đó và khôi phục các ký tự gốc. Trang này hỗ trợ cả hai chiều và hoạt động cho cả thành phần URL lẫn URL đầy đủ, tất cả trên trình duyệt.
Mã hóa URL là quá trình thay thế các ký tự có ý nghĩa đặc biệt trong URL, hoặc không được phép trong URL, bằng các chuỗi percent-encoded. Mỗi byte không an toàn được viết dưới dạng dấu phần trăm theo sau là hai chữ số thập lục phân. Mã hóa URL còn được gọi là percent encoding và được định nghĩa bởi RFC 3986.
Percent encoding là lược đồ mã hóa mà URL sử dụng để biểu diễn các ký tự không an toàn hoặc đặc biệt. Ký tự được chuyển đổi thành một hoặc nhiều byte (UTF-8 cho URL hiện đại), và mỗi byte được viết dưới dạng dấu phần trăm theo sau là giá trị thập lục phân hai chữ số. Ví dụ, dấu cách là byte 0x20 và được viết là %20.
Sử dụng encodeURIComponent khi mã hóa một giá trị duy nhất sẽ được chèn vào URL — thường là giá trị tham số query, phân đoạn đường dẫn hoặc giá trị fragment. Hàm này mã hóa phần trăm các ký tự đặc biệt như /, ?, #, & và = để chúng không vô tình thay đổi cấu trúc URL xung quanh. Sử dụng encodeURI khi đã có URL đầy đủ và chỉ muốn escape các ký tự không an toàn (như dấu cách hoặc ký tự ngoài ASCII), mà không chạm vào các ký tự cấu trúc đặc biệt.
Cả hai đều có thể biểu diễn dấu cách, nhưng trong các ngữ cảnh khác nhau. %20 là mã hóa phần trăm tiêu chuẩn của dấu cách và hợp lệ ở bất kỳ đâu trong URL. Ký tự + chỉ được hiểu là dấu cách trong dữ liệu application/x-www-form-urlencoded — thường là phần thân của biểu mẫu HTML hoặc query string do một số hệ thống cũ tạo ra. Các hàm gốc decodeURIComponent và decodeURI KHÔNG chuyển đổi + thành dấu cách, và công cụ này tuân theo cùng hành vi nghiêm ngặt đó: + được giữ nguyên chính xác như bạn gõ. Nếu đang giải mã dữ liệu biểu mẫu và cần + có nghĩa là dấu cách, hãy thay + bằng dấu cách theo cách thủ công trước khi giải mã.
Có. Dán query string đã mã hóa (hoặc một giá trị đã mã hóa duy nhất) vào ô nhập liệu và chuyển hướng sang Giải mã. Sử dụng chế độ Thành phần cho một giá trị tham số duy nhất và chế độ URL Đầy đủ nếu giải mã toàn bộ URL. Lưu ý rằng công cụ không tách query string thành các cặp khóa/giá trị — nó giải mã các ký tự percent-encoded trong văn bản bạn dán vào.
Có. Các hàm JavaScript gốc xử lý các chuỗi percent-encoded như các byte UTF-8, vì vậy các chữ cái có dấu, emoji và ký tự từ các hệ thống chữ viết không phải Latin được giải mã chính xác về dạng gốc. Ví dụ caf%C3%A9 được giải mã thành café và %F0%9F%98%80 được giải mã thành 😀. Nếu một chuỗi không phải UTF-8 hợp lệ, bộ giải mã báo lỗi đầu vào không hợp lệ thay vì tạo ra các ký tự thay thế một cách im lặng.
Không. Bộ mã hóa và giải mã chạy hoàn toàn trên trình duyệt của bạn bằng các hàm URL gốc của JavaScript. Đầu vào của bạn không bao giờ được gửi đến máy chủ, không bao giờ được lưu trữ và không bao giờ được ghi lại. Đóng tab sẽ xóa mọi thứ. Điều này làm cho công cụ phù hợp cho các URL nhạy cảm (liên kết nội bộ, token, URL đã ký) mà bạn không muốn dán vào dịch vụ từ xa.
Không. Mã hóa URL chuyển đổi ký tự sang/từ dạng mã hóa phần trăm mà không thay đổi tham số nào có mặt. Làm sạch URL là thao tác riêng biệt xóa các tham số theo dõi như utm_source, utm_medium, fbclid hoặc gclid khỏi URL. Nếu muốn xóa tracker khỏi liên kết, bạn cần công cụ làm sạch URL chuyên dụng; trang này chỉ mã hóa và giải mã.
Nếu URL gốc được mã hóa hai lần (mã hóa kép), một lần giải mã chỉ hoàn tác một lớp. Ví dụ, %2520 được giải mã thành %20, sau đó được giải mã thành dấu cách ở lần thứ hai. Chạy kết quả qua bộ giải mã một lần nữa nếu vẫn trông như đã mã hóa. Dấu phần trăm theo nghĩa đen không phải là một phần của chuỗi escape hợp lệ (ví dụ abc%) là mã hóa phần trăm không hợp lệ và bộ giải mã sẽ báo lỗi đầu vào không hợp lệ thay vì đoán.
Công cụ trực tuyến miễn phí để chuyển đổi, mã hóa và biến đổi văn bản
Chuyển đổi kiểu chữ — chữ hoa, chữ thường, title case và nhiều hơn nữa
Chuyển đổi văn bản thành mã Morse và ngược lại
Giải mã mã Morse từ tệp âm thanh hoặc micrô
Chuyển đổi văn bản thành mã nhị phân và ngược lại
Mã hóa và giải mã Base64
Chuyển đổi văn bản thành hệ thập lục phân và ngược lại
Mã hóa và giải mã văn bản bằng mật mã ROT13
Chuyển đổi văn bản thành chữ trên Unicode được hỗ trợ
Chuyển đổi văn bản thành chữ dưới Unicode được hỗ trợ
Tạo ngay văn bản Unicode gạch ngang để sao chép và dán
Chuyển đổi hình ảnh sang Base64 / Data URI