Encode or decode URLs with encodeURIComponent or encodeURI. 100% local.
This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
A URL is allowed to contain only a small safe alphabet (A–Z a–z 0–9 - _ . ~ plus a few reserved symbols). Anything else — spaces, &, /, ?, #, non-ASCII letters, emoji — would be misread as part of the URL structure. Encoding replaces them with % + two hex digits of their UTF-8 bytes; decoding reverses exactly that. encodeURIComponent escapes the widest set (good for a query value); encodeURI keeps structural punctuation like ? and # (good for a whole URL).
A space is byte 0x20 → %20. The Chinese character 你 (U+4F60) is three UTF-8 bytes E4 BD A0 → %E4%BD%A0. Decoding walks the %XX triplets and reassembles the bytes.
You want to pass 'hello world' and a Chinese keyword in one URL query string.
Encode and decode URLs with encodeURIComponent and encodeURI modes. Everything runs locally; nothing is uploaded.
FreeToolHub URL Encoder / Decoder is a free browser-based tool — encode and decode URLs with encodeURIComponent and encodeURI modes. No signup, no upload; everything runs locally in your browser.
Codifica y decodifica URLs con los modos encodeURIComponent y encodeURI. Soporte completo de Unicode. 100% en el navegador, gratis, sin registro.
Esta herramienta convierte texto a formato URL codificado con porcentajes y de vuelta, resolviendo el problema de que las URLs solo pueden contener un conjunto ASCII limitado. Los espacios, los signos &, los hashes, los caracteres CJK y los emoji tienen significados reservados o ilegales en una URL y deben codificarse como secuencias %XX. Dos modos cubren los dos casos reales: el modo encodeURIComponent codifica todo, incluidos & = ? / , para usarlo como el valor de un solo parámetro; el modo encodeURI preserva los caracteres de estructura de la URL para que una URL completa siga funcionando. El soporte Unicode completo significa que el texto chino, árabe y con emojis se codifica correctamente a sus secuencias de porcentaje UTF-8.
Los desarrolladores web construyen cadenas de consulta donde la entrada del usuario contiene espacios o símbolos que romperían los límites de los parámetros. Los marketeros construyen enlaces con etiquetas UTM cuyos nombres de campaña llevan caracteres no ASCII y verifican cómo sobreviven a los sistemas de correo. Los probadores de API codifican valores de filtro en URLs de petición y decodifican valores extraídos de registros del servidor para ver qué se envió realmente. Los usuarios internacionales que pegan términos de búsqueda CJK en herramientas que esperan entrada codificada la usan constantemente. Y los equipos de depuración decodifican URLs codificadas de informes de analítica para leer el destino original.
(1) Pega tu texto o URL. (2) Elige el modo: modo component para un valor de parámetro, modo full-URI para una URL completa donde las barras y los separadores de consulta deben sobrevivir. (3) Lee la salida codificada: los espacios se convierten en %20 (o + en contextos de formulario), lo no ASCII se convierte en secuencias UTF-8 de varios bytes, y los caracteres reservados en sus formas de porcentaje. (4) El modo Decode revierte cualquier cadena codificada con porcentajes, gestionando secuencias UTF-8 mixtas y la convención de + como espacio. Todo se convierte en vivo y localmente.
Las dos funciones de JavaScript corresponden a dos filosofías de codificación, y elegir mal rompe las URLs de maneras distintas. encodeURIComponent es para valores individuales: escapa todo lo que tiene significado estructural —& = ? / #— de modo que un valor como a&b=c no pueda inyectar parámetros falsos. Úsalo siempre que la entrada del usuario se convierta en un parámetro de consulta. encodeURI es para URLs completas ya ensambladas: preserva los separadores que hacen funcionar la URL mientras codifica espacios y no ASCII. Úsalo para sanear un enlace completo para mostrarlo o transmitirlo. El bug clásico es usar encodeURI sobre un valor de parámetro, dejando & y = intactos para que los servidores posteriores dividan el valor en parámetros fantasma; el bug inverso destroza una URL completa hasta hacerla inutilizable. Esta herramienta expone ambos modos explícitamente para que siempre elijas el correcto.
Siempre que texto arbitrario viaje dentro de una URL. Los caracteres reservados tienen funciones en la gramática de una URL —? inicia una consulta, & separa parámetros, # salta a un fragmento—, así que un valor que los contenga debe codificarse con porcentajes (por ejemplo, & se convierte en %26) o se leerá como estructura. Codifica con porcentajes cada valor de parámetro de consulta que construyas a mano.
El alcance. encodeURIComponent escapa todo lo que tiene significado especial, así que es lo correcto para un valor individual de parámetro (un nombre de ciudad, un término de búsqueda). encodeURI preserva los caracteres de estructura de la URL (?, /, &, =) para que una URL completa siga siendo analizable: usarlo sobre un valor de parámetro deja & y = sin escapar y corrompe la cadena de consulta. Esta herramienta expone ambos modos para que puedas coincidir con la función de JavaScript que usa tu código.
Dos estándares: la especificación de formularios HTML codifica los espacios como +, mientras que la codificación con porcentajes de RFC 3986 usa %20. Los navegadores envían formularios con +, pero las cadenas de consulta que construyas tú deberían usar %20, y un decodificador estricto no volverá a convertir + en espacio. Si tus espacios se decodifican mal, mezclaste las dos convenciones.
No, y confundirlos causa bugs reales. La codificación de URL (codificación con porcentajes) hace que el texto sea seguro para viajar dentro de una URL; el escapado de HTML (< & ...) hace que el texto sea seguro para mostrar dentro de un documento HTML. Un valor que va a un parámetro de consulta necesita primero codificación de URL: escaparlo en HTML mandaría basura literal amp; al servidor.
encodeURIComponent encodes all special characters including : / ? # [ ] @, making it suitable for encoding individual query parameter values. encodeURI preserves URL structural characters, making it suitable for encoding an entire URL. This tool supports both modes—use encodeURIComponent for parameter values, encodeURI for full URLs.
URL-encoded characters are decoded by the server before processing, so encoding does not change the destination page. However, excessive encoding in visible URLs can look spammy to search engines. Best practice: encode only special characters in query parameters, not in the path structure. Use hyphens for word separation in URL paths.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.