Skip to main content
Volver a herramientas

Codificador URL

Codifica y decodifica componentes de URL

Acerca de Codificador URL

Codifica texto en formato porcentual con encodeURIComponent de JavaScript y lo decodifica con decodeURIComponent; los caracteres no ASCII, como é o los emojis, se tratan como UTF-8. Dado que también escapa delimitadores de URL como / ? # & y =, está pensado para un solo componente (el valor de un parámetro, un redirect_uri o un segmento de ruta) y no para una URL completa.

Categoría: API.

Preguntas frecuentes

¿Cuándo necesito codificar en URL?

▾

Siempre que un valor que insertas en una URL contenga espacios, letras no ASCII o caracteres con una función especial, como & = + # ? o /. Codificarlos como secuencias %XX hace que se traten como datos literales y no como parte de la estructura de la URL.

¿Cuál es la diferencia entre encodeURI y encodeURIComponent?

▾

encodeURI deja intactos los caracteres que estructuran una URL, como / ? # & y =, así que sirve para una URL completa. encodeURIComponent, la función que usa esta herramienta, también los escapa y solo conserva letras, dígitos y - _ . ! ~ * ' ( ), así que sirve para un único valor de parámetro o segmento de ruta.

¿Por qué un espacio se convierte en %20 y no en +?

▾

Al codificar siempre se genera %20, la forma de RFC 3986 que funciona en cualquier parte de una URL. La forma + solo significa espacio en cadenas de consulta application/x-www-form-urlencoded, y al decodificar el + se conserva, así que reemplaza los + por espacios antes de decodificar datos de formularios.

¿Por qué aparece "Invalid encoded URL string" al decodificar?

▾

La decodificación falla cuando un % no va seguido de dos dígitos hexadecimales, como en 100%, o cuando los bytes no forman UTF-8 válido, como el escape Latin-1 %E9. Para un signo de porcentaje literal, usa %25.

Herramientas relacionadas