Codificador de URL
Haz que un texto sea seguro para usar dentro de una URL.
Funciona en tu navegador. Nada de lo que escribes se envía a ningún sitio.
- Modo componente o URI completa
- Opción de + para espacio
- Funciona sin conexión
Cómo codificar texto para URL
- Pega el texto o la URL.
- Elige codificación de componente para un solo valor, o URI completa para una dirección entera.
- Copia el resultado codificado.
Qué se codifica
| Caracteres | ¿Se codifica? | Ejemplo |
|---|---|---|
| Letras y dígitos | No | a-z, A-Z, 0-9 se mantienen igual |
| - _ . ~ | No | Se dejan igual en ambos modos |
| Espacio | Sí | %20, o + con la opción activada |
| / ? # & = | Solo en modo componente | El modo URI completa los deja igual |
Modo componente frente a modo URI completa
| Modo | ¿Codifica / ? # & =? | Se usa para |
|---|---|---|
| Componente | Sí | Un solo valor de consulta o segmento de ruta |
| URI completa | No | Una dirección completa que vas a usar tal cual |
Cuándo necesitas codificar con porcentaje
- Un valor de cadena de consulta que contiene espacios o caracteres especiales, como un término de búsqueda.
- Texto no ASCII en una URL, como letras acentuadas u otro alfabeto, una vez convertido a bytes UTF-8.
- Crear un enlace de redirección o de retorno que lleva otra URL completa dentro de un solo parámetro.
Preguntas frecuentes sobre Codificar URL
¿Cuál es la diferencia entre codificación de componente y de URI completa?
La codificación de componente escapa todos los caracteres especiales, incluidos / y &, para usarlos dentro de un solo parámetro de consulta. La codificación de URI completa deja intactos los caracteres de estructura de la URL, como :, / y ?, ya que forman parte de una dirección válida.
¿Cuándo debería usar + para espacio?
Solo para envíos de formularios clásicos (application/x-www-form-urlencoded), donde un espacio se escribe como + en lugar de %20.
¿Qué caracteres se codifican?
Las letras, los números y - _ . ~ se mantienen igual. Todo lo demás se convierte en un signo de porcentaje seguido de su código hexadecimal de dos dígitos.
¿Sigue esto un estándar web?
Sí. El RFC 3986 define qué caracteres de una URI están reservados y cómo codificar con porcentaje el resto. Esta herramienta usa las funciones nativas de JavaScript encodeURIComponent y encodeURI, que siguen ese estándar.
¿Cómo se codifican las letras acentuadas o los emojis?
Primero se convierten a bytes UTF-8 y luego cada byte se escribe como %XX. La letra e con acento se convierte en %C3%A9, ya que ocupa dos bytes UTF-8.
¿Puedo codificar una dirección completa, incluido https://?
Usa el modo URI completa. Deja intactos el esquema, el host y las / que separan los segmentos de la ruta, y solo codifica los caracteres que nunca son seguros en ninguna parte de una URL.
¿La codificación cambia las letras y los dígitos?
No. A-Z, a-z y 0-9 nunca se codifican en ninguno de los dos modos, ya que siempre son seguros para usar directamente dentro de una URL.
¿Cuál es la diferencia entre las dos funciones de JavaScript detrás de esta herramienta?
El modo componente usa encodeURIComponent, que escapa todo salvo los caracteres no reservados, pensado para un solo valor como un parámetro de consulta. El modo URI completa usa encodeURI, que también deja intactos los caracteres de estructura de la URL, ya que espera una dirección completa.