Herramienta encodeURIComponent
Un espacio pasa a %20, & a %26 e = a %3D, así hello world & café queda hello%20world%20%26%20caf%C3%A9 y cabe dentro de un solo valor de consulta. Cada valor recibe las reglas de encodeURIComponent; al decodificar se invierten. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- hello world & café
- Producción
- hello%20world%20%26%20caf%C3%A9
- Modo de cálculo
- Encode
- Entrada
- hello world & café
- Longitud
- 31
Cuando arma una cadena de consulta, un solo espacio o ampersand sin escapar puede partir un parámetro y romper una integración. Esta herramienta encodeURIComponent aplica las mismas reglas que encodeURIComponent y decodeURIComponent de JavaScript: al salir, los caracteres reservados se convierten en secuencias porcentuales, y al volver, las secuencias %XX válidas recuperan su texto legible.
Qué protege realmente encodeURIComponent
Una URL completa no es un bloque opaco único. Los esquemas, los separadores de ruta, los delimitadores de consulta y los marcadores de fragmento tienen un significado estructural. encodeURIComponent es la función que usted emplea cuando el valor debe viajar como dato dentro de esa estructura sin reescribir la estructura misma.
Los espacios pasan a %20, los ampersands a %26, los signos de igual a %3D, y el texto no ASCII, como las letras acentuadas o los emojis, se expande en secuencias porcentuales UTF-8 para que los proxies y los servidores no interpreten mal los límites de bytes. Eso es distinto de encodeURI, que deja intactos muchos caracteres reservados porque supone que usted codifica una dirección entera.
Si codifica un enlace https:// completo con reglas de componente, los dos puntos y las barras se convierten en secuencias % y el enlace deja de funcionar. Si deja sin codificar un término de búsqueda de texto libre y lo pega después de ?, un & incrustado parece un parámetro nuevo.
Esta herramienta siempre usa la semántica de componente para que cada valor sea seguro al colocarse tras una clave, entre segmentos de ruta cuando el segmento es dato, o dentro del cuerpo de un formulario que después se vuelve consulta.
Cómo usarlo y leer el resultado
Envíe un campo text con la cadena que le interesa y un campo mode opcional con valor encode o decode. La codificación es lo predeterminado: el motor ejecuta encodeURIComponent sobre la entrada y devuelve mode, la entrada original, la salida transformada y la longitud de la salida, para que las tuberías puedan comprobar presupuestos de tamaño sin una segunda pasada. La decodificación ejecuta decodeURIComponent y devuelve la misma forma con la cadena recuperada en output.
Las cadenas vacías son válidas y viajan de ida y vuelta a cadenas vacías. La falta del campo text también falla la validación antes de ejecutar cualquier transformación. Prefiera codificar cada valor y luego unir con caracteres & y = literales, en vez de codificar una cadena de consulta ya armada, para que los delimitadores sigan siendo estructurales y solo se escapen los caracteres de carga útil.
Dónde encaja la codificación de componentes en flujos reales
Las interfaces de búsqueda y filtro construyen enlaces compartibles a partir de frases tecleadas por el usuario que incluyen espacios, comillas y alfabetos no latinos; codificar cada campo antes de ensamblar mantiene estable el enlace compartido entre clientes de correo y apps de chat que reescriben las URL sueltas. Las herramientas de registros y soporte suelen mostrar líneas de petición crudas con secuencias porcentuales; decodificar esos valores recupera los términos de búsqueda o los nombres de archivo originales para investigar sin pegarlos en una consola desechable.
Las migraciones de datos revierten columnas doblemente codificadas cuando un exportador antiguo codificó dos veces, o aplican una única codificación de componente coherente al guardar valores que después se insertarán en redirecciones. Las listas de verificación de enseñanza y revisión de código usan una referencia fiable de encodeURIComponent para que los desarrolladores junior comparen los ayudantes de cada lenguaje contra la base de JavaScript y detecten bibliotecas que tratan de forma distinta los signos más o las tildes.
Qué puede hacer con ella
Valores seguros de parámetros de consulta
Codifique correos, nombres y filtros de texto libre antes de añadirlos a pares ?clave=valor para que los caracteres reservados nunca partan la cadena de consulta.
Decodificar registros y exportaciones de peticiones
Convierta fragmentos de ruta o consulta con codificación porcentual de los registros de acceso y las exportaciones CSV de vuelta a UTF-8 legible para soporte y analítica.
Comprobaciones de paridad entre pilas
Compare el codificador de URL de otro lenguaje contra la salida de encodeURIComponent de JavaScript para que los microservicios mixtos coincidan en las reglas de escape.
Preguntas frecuentes
¿Cuál es la diferencia entre encodeURIComponent y encodeURI?
encodeURIComponent escapa caracteres reservados como &, =, ? y / para que un valor sea seguro como dato. encodeURI deja intactos esos caracteres de estructura para URL completas. Esta herramienta siempre usa la semántica de componente.
¿Qué ocurre si la entrada de decodificación está mal formada?
Corrija la cadena o trátela como dato opaco en vez de decodificarla.
¿La herramienta encodeURIComponent es gratis?
La herramienta del navegador es gratis y se ejecuta localmente.
¿Maneja Unicode y emojis?
Sí. La codificación usa secuencias porcentuales UTF-8 que coinciden con encodeURIComponent de JavaScript, de modo que el texto acentuado y los emojis viajan de ida y vuelta correctamente al decodificarse.
¿Conviene codificar la consulta entera o cada valor?
Codifique cada valor por separado y únalos después con & e = normales. Si codifica una consulta ya armada, también se escapan los separadores y el servidor que la recibe deja de saber dónde termina un valor y empieza el siguiente.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/url-component \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world & café"}'const res = await fetch("https://api.kit.forhosting.com/enc/url-component", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world & café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/url-component",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world & café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/url-component", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world & café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world & café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/url-component", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "hello world & café"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.url_component",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Úsela para preparar valores antes de que entren en una URL, para revertir la codificación de registros o de cargas de terceros, y para obtener un resultado determinista tanto si la ejecuta gratis en el navegador como si llama a la API de KIT.
Cómo llamar al endpoint y leer el resultado
Los números y booleanos se convierten a texto igual que JavaScript los serializa antes de codificar, lo que ayuda en pruebas rápidas de la API. Las secuencias porcentuales mal formadas al decodificar, como un signo de porcentaje suelto o una cola %X incompleta, provocan invalid_input con un mensaje que nombra el fallo de decodificación; esas tareas no se cobran. Como la ruta es análisis puro sin red, modelo, reloj ni fuente aleatoria, el mismo par de text y mode siempre produce el mismo objeto JSON en la herramienta gratuita del navegador y en la API de pago. A $0.002 por solicitud correcta, el precio refleja una transformación mínima en el borde, de modo que puede codificar miles de valores de consulta en un trabajo de limpieza sin negociar tramos.
Dónde encaja la codificación de componentes en flujos reales
Los webhooks salientes son el caso clásico: el correo de un cliente, el asunto de un tique o una etiqueta de texto libre deben ir en una URL de retorno sin romper el analizador del receptor. En cada caso el contrato es el mismo: codificar o decodificar componentes, fallar con firmeza ante una entrada porcentual incorrecta, salida estructurada que puede comprobar en pruebas de referencia, y comportamiento idéntico gratis en el navegador o mediante saldo prepago de KIT en la API.
Preguntas técnicas
¿Puedo codificar y decodificar con el mismo endpoint?
Sí. Ponga mode en encode (predeterminado) o decode. La respuesta siempre incluye mode, input, output y length.