การเข้ารหัส URL (URL Encoding) เป็นกระบวนการแปลงอักขระที่ไม่สามารถพิมพ์ได้ หรืออักขระที่มีความหมายพิเศษใน URL ให้อยู่ในรูปแบบที่ชัดเจนและได้รับการยอมรับโดยเว็บเบราว์เซอร์และเซิร์ฟเวอร์ทุกตัว อักขระเหล่านี้ประกอบด้วย:
- อักขระควบคุม ASCII (ASCII control characters) - อักขระที่ไม่สามารถพิมพ์ได้ ซึ่งมักใช้สำหรับควบคุมการแสดงผล ช่วง 00-1F hex (0-31 decimal) และ 7F (127 decimal)
- อักขระควบคุมที่ไม่ใช่ ASCII (Non-ASCII control characters) - อักขระที่อยู่นอกชุดตัวอักษร ASCII 128 ตัว ช่วงนี้เป็นส่วนหนึ่งของชุดตัวอักษร ISO-Latin และรวม "ครึ่งบน" ทั้งหมดของชุด ISO-Latin คือ 80-FF hex (128-255 decimal)
- อักขระสำรอง (Reserved characters) - อักขระพิเศษ เช่น เครื่องหมายดอลลาร์ แอมเพอร์แซนด์ เครื่องหมายบวก จุลภาค สแลช ทวิภาค เครื่องหมายเท่ากับ เครื่องหมายคำถาม และสัญลักษณ์ "at" ทั้งหมดอาจมีความหมายต่างกันใน URL จึงต้องเข้ารหัส
- อักขระที่ไม่ปลอดภัย (Unsafe characters) - ช่องว่าง เครื่องหมายคำพูด เครื่องหมายน้อยกว่า เครื่องหมายมากกว่า เครื่องหมายปอนด์ เครื่องหมายเปอร์เซ็นต์ วงเล็บปีกกาเปิด/ปิด ไพป์ เบ็กสแลช เครื่องหมายคารีต ทิลด์ วงเล็บเหลี่ยมเปิด/ปิด และเครื่องหมายเกรฟ อักขระเหล่านี้อาจถูกเข้าใจผิดใน URL ได้เพราะเหตุผลต่างๆ