Mã hóa URL là quy trình chuyển đổi các ký tự không in được hoặc các ký tự có ý nghĩa đặc biệt trong URL thành một biểu diễn rõ ràng, được chấp nhận phổ biến bởi các trình duyệt và máy chủ web. Các ký tự này bao gồm:
- Ký tự điều khiển ASCII – Các ký tự không in được thường dùng để điều khiển đầu ra. Phạm vi 00-1F hex (0-31 decimal) và 7F (127 decimal). Bảng mã hóa đầy đủ được cung cấp bên dưới.
- Ký tự điều khiển không phải ASCII – Đây là các ký tự vượt quá bộ ký tự ASCII 128 ký tự. Phạm vi này thuộc bộ ký tự ISO-Latin và bao gồm toàn bộ "nửa trên" của bộ ISO-Latin 80-FF hex (128-255 decimal). Bảng mã hóa đầy đủ được cung cấp bên dưới.
- Ký tự dành riêng – Các ký tự đặc biệt như dấu đô la, ampersand, dấu cộng, dấu phẩy, dấu gạch chéo, dấu hai chấm, dấu chấm phẩy, dấu bằng, dấu hỏi và ký tự "at". Tất cả chúng có thể mang ý nghĩa khác nhau bên trong URL nên cần được mã hóa. Bảng mã hóa đầy đủ được cung cấp bên dưới.
- Ký tự không an toàn – Bao gồm khoảng trắng, dấu ngoặc kép, dấu nhỏ hơn, dấu lớn hơn, ký tự thăng, ký tự phần trăm, ngoặc nhọn trái/phải, dấu gạch dọc, dấu gạch chéo ngược, dấu mũ, dấu ngã, ngoặc vuông trái/phải, dấu huyền. Các ký tự này có thể bị hiểu nhầm trong URL vì nhiều lý do.