URL-кодування працює шляхом заміни будь-якого символу, який є небезпечним або зарезервованим у URL, знаком відсотка, за яким слідують дві шістнадцяткові цифри, що представляють байтове значення цього символу, схема, офіційно визначена в RFC 3986 IETF.
Пробіл стає %20, амперсанд стає %26, а слеш стає %2F. Символи, що не належать до ASCII, спочатку перетворюються на їхню послідовність байтів UTF-8, потім кожен байт відсотково закодовується, тому літера 'é' стає %C3%A9.
Згідно з документацією MDN Web Docs, браузери застосовують це автоматично через такі функції, як encodeURIComponent. Лише незарезервовані символи (A-Z, a-z, 0-9, дефіс, підкреслення, крапка, тильда) залишаються незмінними.