URL

Limpia

¿Qué es el Limpiador de URL?

Compartiste un enlace con amigos y al final llevaba pegado ?utm_source=newsletter&utm_campaign=spring_sale_2026&fbclid=IwAR0.... Pégalo aquí y la herramienta te devuelve la URL limpia más un desglose en JSON con exactamente lo que se quitó. La salida es JSON, así que puedes copiarla directamente a una línea de log, a un fixture de pruebas o a cualquier sitio donde quieras dejar constancia de lo que se eliminó.

Esta página existe porque Google Analytics, Facebook, HubSpot, Mailchimp y una docena de plataformas más añaden cosas a las URL que no quieres compartir ni guardar. Los parámetros utm_* vienen del Urchin Tracking Module — Google los introdujo en 2005 y hoy están en todas partes. fbclid es el identificador de clic de Facebook y gclid es el de Google. Ninguno afecta a la página que carga — solo le dicen al sitio de destino cómo llegaste.

Todo se ejecuta en tu navegador con la API estándar URLSearchParams, el mismo parser que define el WHATWG URL Standard. No se sube nada, no hay servidor, no hay logs. La limpieza es determinista — la lista de parámetros a quitar está en el código fuente, puedes leerla, y la misma entrada produce siempre la misma salida.

Cómo usar el Limpiador de URL

Tres pasos. Cada uno se corresponde con un botón de esta página.

1

Pega una URL o carga el ejemplo

Suelta una URL en el panel izquierdo. Pulsa Ejemplo para cargar un caso realista con utm_*, fbclid y gclid mezclados con parámetros de consulta reales. URL de ejemplo:

https://shop.example.com/orders/ORD-1001?customer=Ava+Chen&status=active&utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&fbclid=IwAR0abc123def456&gclid=Cj0KCQjwxyz

Vale cualquier cosa que acepte new URL(...) — query strings con +, codificación porcentual, claves repetidas y fragmentos hash, todo se gestiona. La ruta, el hash y los parámetros que no son de seguimiento se conservan tal cual.

2

Lee la URL limpia y lo que se quitó

El panel derecho muestra JSON: cleaned es la URL con el seguimiento eliminado, removed es un objeto con cada parámetro retirado (clave y valor), y removedCount es el total. Si la URL no tenía nada que limpiar, removed es un objeto vacío y un campo note lo indica. Se actualiza mientras escribes.

3

Copia o descarga

Pulsa Copiar para enviar el JSON al portapapeles, o Descargar para guardarlo como archivo .json. Minificar compacta el JSON en una sola línea. Usa Limpiar en el panel de entrada para empezar de cero. Si solo quieres la URL limpia, copia el valor del campo cleaned.

Cuándo lo usarías de verdad

Limpiar enlaces antes de compartirlos

Abriste una pestaña desde un email de marketing y quieres mandarle el enlace a un amigo por Slack. La URL lleva pegado ?utm_source=newsletter&utm_campaign=spring_sale_2026 al final — tu amigo no necesita saber por dónde llegaste, y el enlace queda feo. Pegas, copias el valor de cleaned y lo envías. Combina bien con nuestro Analizador de URL si antes quieres ver los componentes.

Guardar URL canónicas en una base de datos

Estás indexando páginas para un servicio de marcadores o un rastreador de precios. Dos visitas al mismo producto con distintos valores de utm_campaign no son dos páginas — son la misma. Quita los rastreadores antes de guardar la URL en tu base de datos, o terminarás con duplicados. La especificación RFC 3986 llama a esto normalización de URL.

Privacidad — no entregar tu referer al destino

Cuando pulsas un enlace con fbclid, le estás diciendo al sitio de destino que vienes de Facebook y le das un ID de clic que Facebook puede correlacionar con tu cuenta. Facebook documenta fbclid como identificador de clic para atribución de anuncios. Quitarlo antes de visitar (o antes de guardar el enlace) corta ese rastro.

Limpiar tickets de soporte

"La página se rompió cuando hice clic en este enlace" — y el enlace tiene 600 caracteres porque arrastra utm + gclid + todos los parámetros de seguimiento que HubSpot ha publicado en su vida (__hssc, __hstc, _hsenc, hsa_*). Lo pegas, copias la URL limpia, y pegas ESA en el reporte de bug. Ahora sí puedes leer la ruta real.

Preguntas frecuentes

¿Qué quita exactamente?

Cualquier cosa que empiece por utm_ (es decir utm_source, utm_medium, utm_campaign, utm_term, utm_content, más cualquier utm_* personalizado que añada un equipo de marketing) — más una lista explícita de unos 50 parámetros de seguimiento conocidos: fbclid (Facebook), gclid y dclid (Google Ads), mc_eid y mc_cid (Mailchimp), _ga y _gl (Google Analytics entre dominios), igshid (Instagram), yclid (Yandex), __hsfp/__hssc/__hstc/_hsenc y hsa_* (HubSpot), mtm_* y pk_*/piwik_* (Matomo), vero_id, wickedid, _branch_match_id, _openstat y algunos más. Los parámetros de consulta reales que la página sí usa (como customer=Ava+Chen) se conservan intactos.

¿Modifica la ruta o el hash?

No. Solo se toca la query string. Protocolo, host, puerto, ruta y fragmento hash pasan tal cual. Así que https://shop.example.com/orders/ORD-1001?utm_source=x#summary queda como https://shop.example.com/orders/ORD-1001#summary — misma ruta, mismo hash, sin query.

¿Y si quiero conservar utm_source para mis propios análisis?

Ahora mismo la lista está fija y forma parte del código de la página. Si necesitas una whitelist o blacklist personalizada, haz un fork del fuente — el Set de parámetros y la regex de utm_* están al principio del componente. Una versión futura podría exponer esto como opción, pero la mayoría de quien aterriza aquí busca el comportamiento exhaustivo por defecto.

¿Por qué fbclid es tan largo?

Es un identificador opaco y firmado que Facebook usa para atribuir el clic a un anuncio concreto y (normalmente) a un usuario concreto. El formato exacto no es público, pero está documentado a fondo en el artículo de fbclid en Wikipedia. gclid es el equivalente para Google Ads. Ambos se pueden quitar con seguridad de las URL que compartes o guardas — ninguno hace falta para cargar la página real.

¿Funciona con URL sin parámetros de seguimiento?

Sí. El JSON de salida tiene removedCount: 0, un objeto removed vacío y un campo note avisando de que no se encontró nada. La cleaned será idéntica byte a byte a tu entrada (salvo por lo que new URL().toString() normaliza — por ejemplo añadir una barra final al origin si faltaba).

¿Y con claves repetidas, tipo ?utm_source=a&utm_source=b?

Se quitan las dos. URLSearchParams.delete(name) borra todas las entradas con ese nombre, así que los duplicados no son problema. El objeto removed solo mostrará un valor (el último parseado), pero en la práctica nadie repite utm_source en una URL real.

Otras herramientas de URL

Limpiar es solo una operación. Esto es lo que combina de forma natural: