Codificar URL
Codificar y decodificar componentes de URL
¿Qué es la codificación de URL / percentual?
Las URLs solo pueden contener un pequeño conjunto de caracteres ASCII. Cualquier otra cosa — espacios, letras acentuadas, emoji, caracteres reservados como `&`, `=`, `?` — debe ser codificada en porcentaje como `%` seguido de dos dígitos hexadecimales que representan los bytes UTF-8. Un espacio se convierte en `%20`, `é` se convierte en `%C3%A9`, el signo de interrogación se convierte en `%3F`.
Usa la codificación 'componente' al escapar una sola pieza (un valor de parámetro de consulta, un segmento de ruta) — equivalente a `encodeURIComponent` de JavaScript. Usa la codificación 'URL completa' al escapar una URL entera que ya tiene delimitadores estructurales que deseas preservar — equivalente a `encodeURI`.
Casos de uso
- Construir cadenas de consulta — codificar en porcentaje la entrada del usuario antes de introducirla en parámetros `?q=`.
- Inspeccionar registros del servidor — decodificar URLs dañadas para leer la ruta original (`/Users/%E4%B8%AD%E6%96%87/...`).
- Depurar redirecciones de OAuth — pegar un `redirect_uri` para ver exactamente a qué se decodificó la devolución de llamada de OAuth.
- Leer ejemplos de curl — copiar una URL codificada en porcentaje de un tutorial y decodificarla para entender la solicitud.
Ejemplos
| Entrada | Resultado |
|---|---|
| hello world & friends | hello%20world%20%26%20friends |
| café/menu?id=123 | caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL) |
Preguntas frecuentes
¿Cuál es la diferencia entre encodeURI y encodeURIComponent?
`encodeURI` deja intactos los caracteres estructurales de la URL (`:`, `/`, `?`, `#`, `&`, `=`) — para codificar una URL completa. `encodeURIComponent` también escapa esos — para codificar una sola pieza que va en una URL.
¿Puede manejar caracteres no ASCII?
Sí. Los caracteres fuera de ASCII se codifican como sus bytes UTF-8 (1–4 bytes), cada uno representado como `%XX`.
¿Se interpreta `+` como un espacio al decodificar?
No. Esta herramienta utiliza decodificación estándar de URL, que deja `+` sin cambios. La regla `+`-significa-espacio es específica para datos de formulario `application/x-www-form-urlencoded`, y esta herramienta no tiene un modo de decodificación de formulario separado.
¿Por qué se rompe mi URL después de codificarla?
Codificaste caracteres estructurales (`:`, `/`, `?`, `#`) que necesitaban permanecer literales. Esta herramienta siempre realiza codificación de componentes (`encodeURIComponent`), que los escapa — así que codifica solo los valores de consulta individuales o segmentos de ruta, no toda la URL.
¿Se sube algo?
No — la codificación y decodificación se realizan completamente en tu navegador.
