URL Encoder / Decoder
URL Encoder / Decoder — chạy trên trình duyệt. Không lưu dữ liệu.
Mã hóa / giải mã URL
Theo encodeURIComponent / decodeURIComponent. Chỉ xử lý trong trình duyệt.
Cách sử dụng
- Dán giá trị truy vấn, câu Hangul, chuỗi lẫn khoảng trắng·ký tự đặc biệt vào ô Đầu vào.
- Nhấn Mã hóa để ra phần trăm giống JavaScript
encodeURIComponent. - Giá trị đã dạng
%HHthì Giải mã để hoàn. Dấu cộng form (+) đổi thành khoảng trắng rồi mới giải. - Đổi vào/ra đưa kết quả lại thành đầu vào để chuyển tiếp.
- Đặt lại xóa hai ô. Giá trị chỉ xử lý trên trình duyệt trang này, không lên máy chủ.
- Khi làm truy vấn tìm, chuyển hướng, API: giữ khóa, chỉ mã hóa giá trị rồi nối bằng
&.
Khái niệm chính
Mã hóa URL (percent-encoding) đổi ký tự làm hỏng hoặc đổi nghĩa trên thanh địa chỉ (khoảng trắng, Hangul, &, =, ?…) thành byte UTF-8 như %EC%95%88. Màn hình theo encodeURIComponent trình duyệt nên khoảng trắng là %20 không phải cộng, hợp mã hóa giá trị cho đoạn đường dẫn hoặc tham số truy vấn. Ký tự dành riêng cũng bị thoát nên dùng theo từng giá trị, không quay cả URL đã hoàn chỉnh.
Mã hóa cả URL làm đổi luôn dấu hai chấm và gạch chéo của https://, trình duyệt không mở được như liên kết. Giải dùng decodeURIComponent; cộng phổ biến ở form được thay khoảng trắng rồi mới giải. Chuỗi % cắt cụt hoặc hex sai thì báo thất bại. Chuyển chỉ dùng JavaScript tab này; đầu vào không gửi·lưu.
Ví dụ
Mã hóa 안녕하세요 đổi byte UTF-8 thành %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94. hello world thành hello%20world. Làm truy vấn kiểu q=검색어&sort=new thì chỉ mã hóa 검색어 rồi gắn sau q=. Đưa kết quả lên bằng đổi vào/ra rồi giải để kiểm tra nguyên văn có về không.
Liên quan: Tạo hash · Base64 → ảnh · Đếm ký tự
Câu hỏi thường gặp
Mã hóa URL là gì?
Quy tắc đổi ký tự nguy hiểm trên địa chỉ thành <code>%</code> và hex. Gần như bắt buộc khi gửi Hangul, khoảng trắng, ký tự dành riêng làm từ khóa tìm, chuyển hướng, giá trị truy vấn API.
Khác nhau encodeURIComponent và encodeURI?
Công cụ này là <code>encodeURIComponent</code> cho giá trị. <code>encodeURI</code> giữ hai chấm, gạch chéo, hỏi để xử lý cả URL một lần, không hợp giá trị tham số.
Trong bộ mã hóa URL khoảng trắng là %20 hay +?
Kết quả mã hóa luôn <code>%20</code>. Chỉ khi giải mới hiểu cộng theo quy ước <code>application/x-www-form-urlencoded</code> là khoảng trắng.
Vì sao không nên mã hóa URL cả địa chỉ?
Cả phân tách giao thức và đường dẫn bị thoát, trình duyệt không mở được liên kết. Giữ khóa, chỉ mã hóa giá trị rồi nối <code>&</code>.
Khi nào giải URL thất bại?
Sau <code>%</code> không phải hex hoặc chuỗi một byte bị cắt thì báo thất bại. Kiểm tra copy nguyên văn có lẫn khoảng trắng không.
Đầu vào bộ mã hóa URL có gửi máy chủ không?
Không. Chỉ JavaScript trình duyệt trang này; không tải lên hay lưu nhật ký.
Cập nhật lần cuối: 2026-09-04