קידוד אחוזים הוא עמוד תווך של תשתיות הרשת, והוא קובע איך נתונים עוברים באינטרנט. האינטרנט נשען על URI כדי לאתר משאבים. מפרט ה-URI (RFC 3986) מגביל את התווים שמותר להשתמש בהם בכתובת. התווים המותרים, 'לא שמורים', הם אותיות ומספרים (A-Z, a-z, 0-9), מקף (-), נקודה (.), קו תחתון (_) וטילדה (~). כל תו אחר נחשב 'לא בטוח' או 'שמור' כי יש לו משמעות מבנית. האמפרסנד (&) מפריד פרמטרי שאילתה, סימן השוויון (=) משייך ערך, והלוכסן (/) מגדיר נתיב. אם צריך להעביר את התו '&' כחלק מהנתונים ולא כמפריד, חובה לקודד אותו באחוזים.
כשתו צריך קידוד, הוא מומר קודם לערך בתים לפי UTF-8. כל בית מיוצג בשתי ספרות הקסדצימליות שאחרי סימן אחוז (%). רווח הוא 32 בעשרוני, או 20 בהקס, ולכן הופך ל-'%20'. הסימן @ הופך ל-'%40', ופסיק ל-'%2C'. כך שרתים, מאזני עומסים ודפדפנים מפרשים את גבולות הכתובת בלי עמימות. בלי קידוד, מחרוזת שאילתה עם קלט שרירותי שוברת את המבנה, גורמת לשגיאת 400 Bad Request, לקישורים שבורים או אפילו לזיהום פרמטרים ב-HTTP.
היסטורית, מערכות קודדו כתובות בדרכים שונות. נתוני טופס מסוג application/x-www-form-urlencoded מקודדים רווח כפלוס (+), בעוד RFC 3986 מחייב '%20'. מסגרות מודרניות מסתירות את הניואנסים, אבל כלי חינמי ואמין לקידוד ידני עדיין חיוני לניפוי, לבדיקת API ולבניית קישורים עמוקים. הבנת המנגנון עוזרת לטפל ב-ASCII וגם באימוג'י Unicode מרובה בתים.