URL encoding (kilala rin bilang percent encoding) ay ang proseso ng pag-convert ng mga espesyal na character sa isang format na ligtas na magagamit sa mga URL. Pinapalitan nito ang mga character na hindi pinapayagan sa mga URL (gaya ng mga puwang, bantas, o hindi ASCII na mga character) ng porsyentong tanda (%) na sinusundan ng dalawang hexadecimal na digit na kumakatawan sa ASCII code ng character.
Halimbawa, ang isang puwang ay naka-encode bilang %20, at ang isang colon (:) ay maaaring ma-encode bilang %3A.
Upang matiyak na ang mga espesyal na character sa mga URL (tulad ng mga puwang, tandang pananong, slash, at ampersand) ay maayos na kinakatawan nang hindi sinisira ang istraktura ng URL.
Upang i-encode ang mga hindi ASCII na character (tulad ng mga accent na titik o mga character mula sa mga hindi Latin na alpabeto) upang matiyak ang pagiging tugma sa mga system na sumusuporta lamang sa ASCII.
Upang i-encode ang mga parameter ng query sa isang URL upang ma-parse nang tama ang mga ito ng mga web server at browser.
Upang iwasan ang malisyosong pagmamanipula ng data sa mga URL sa pamamagitan ng pag-encode ng mga potensyal na mapanganib na character.
URL encoding ay kadalasang ginagawa gamit ang mga built-in na function sa karamihan ng mga programming language.
Sa JavaScript, maaari mong gamitin ang encodeURIComponent() o encodeURI().
Sa Python, maaari mong gamitin ang urllib.parse.quote() o urllib.parse.quote_plus().
Pinapalitan nito ang mga character na hindi ligtas sa isang URL (gaya ng mga puwang, &, =, #) ng kanilang mga katumbas na naka-encode na halaga.
Halimbawa:
encodeURIComponent("Hello World!") ay magbabalik ng "Hello%20World%21".
Kapag nag-e-encode ng mga parameter ng query o data ng form sa URL, gaya ng sa mga kahilingan sa HTTP GET.
Kapag nag-embed ng mga espesyal na character (tulad ng mga puwang, slash, o hindi ASCII na character) sa isang URL, lalo na kapag nakikipag-ugnayan sa mga API o serbisyo sa web.
Kapag gumawa ng mga URL nang manu-mano at tinitiyak na ang mga character tulad ng =, &, o ? huwag makialam sa istraktura ng URL.
Kapag gumagawa ng maiikling URL o naka-encode na mga link na kailangang ibahagi sa isang nababasa at ligtas na format.