Inyecta JavaScript personalizado en cualquier sitio web directamente desde tu navegador. Automatiza tareas repetitivas, elimina elementos molestos y personaliza la web a tu medida, sin servidores ni suscripciones.
FUNCIONALIDADES
Cada función está diseñada para que tengas el control total sin complicaciones.
Escribe cualquier fragmento de JavaScript y ejecútalo en la página actual con un solo clic. Como si tuvieras la consola del desarrollador siempre a mano, pero sin tener que abrirla.
Define cuándo debe ejecutarse cada script: de inmediato, al terminar de cargar la página, con un retardo personalizado o después de que todo el contenido esté listo. Navega y todo ocurre solo.
Cada script actúa exactamente donde quieres. Aplícalo a toda la web, solo a un dominio concreto, a una URL exacta, o define tu propio patrón con comodines. Sin efectos indeseados en otras páginas.
Activa el modo silencioso para que los scripts se ejecuten en segundo plano sin notificaciones ni avisos. Ideal para automatizaciones que no necesitan confirmación visual.
Guarda toda tu colección de scripts en un archivo JSON y llévala a cualquier equipo o navegador. Tres modos de importación: añadir solo lo nuevo, fusionar actualizando, o reemplazar todo.
Página de gestión completa accesible desde el navegador: lista todos tus scripts, edítalos, ordénalos y elimínalos con una interfaz limpia. Ahorra tiempo sin salir de tu flujo de trabajo.
Ningún dato sale de tu navegador. Los scripts se almacenan localmente, no hay servidores externos, no hay telemetría ni seguimiento. Lo que haces en tu navegador es solo tuyo.
Interfaz disponible en inglés, español, francés, alemán, italiano, portugués, chino, japonés, coreano, ruso, polaco, neerlandés y turco. La extensión detecta el idioma de tu navegador automáticamente.
Una sola extensión, tres navegadores. Compatible con Manifest V3, el estándar moderno de extensiones. Funciona en las últimas versiones de Chrome, Microsoft Edge y Mozilla Firefox.
CÓMO FUNCIONA
Sin tutoriales, sin formularios. En menos de dos minutos, tu navegador ya tiene superpoderes.
Añádela desde la tienda de tu navegador favorito (Chrome, Edge o Firefox) o descárgala desde GitHub. Sin cuentas, sin permisos innecesarios, sin configuración previa.
Haz clic en el icono de la extensión, pulsa "Nuevo script" y escribe el código que quieras ejecutar. Ponle un nombre, elige en qué páginas actúa y, si quieres, activa la ejecución automática.
A partir de ahora, cada vez que visites las páginas configuradas, tu script se ejecutará automáticamente. También puedes lanzarlo manualmente desde el popup cuando quieras.
CASOS DE USO
Ejemplos reales listos para copiar y pegar. Úsalos tal cual o adaptalos a tus webs favoritas.
¿Cansado de cerrar ese molesto aviso en cada visita? Este script elimina los selectores de consentimiento más comunes de forma automática. Activa la ejecución automática al cargar y nunca más los verás.
// Eliminar banners de cookies comunes
const selectors = [
'#cookie-banner', '#cookie-consent',
'#cookieNotice', '.cookie-popup',
'.cookie-bar', '.gdpr-banner',
'[class*="cookie"]', '[id*="cookie"]',
'[class*="consent"]', '[class*="gdpr"]'
];
selectors.forEach(sel =>
document.querySelectorAll(sel)
.forEach(el => el.remove())
);
// Restaurar scroll si el banner lo bloqueaba
document.body.style.overflow = '';
Cualquier página web en modo oscuro, aunque no lo ofrezca de serie. Invierte los colores y compensa la rotación de tono para que imágenes y vídeos sigan viéndose correctamente.
// Inyectar modo oscuro en cualquier página web
const style = document.createElement('style');
style.textContent = `
html {
filter: invert(1) hue-rotate(180deg) !important;
}
img, video, canvas, svg, iframe {
filter: invert(1) hue-rotate(180deg) !important;
}
`;
document.head.appendChild(style);
Si rellenas los mismos datos una y otra vez en formularios de empresa o aplicaciones internas, este script lo hace por ti con un clic. Compatible con React, Vue y Angular gracias a los eventos sintéticos.
// Rellenar campos de formulario automáticamente
const fill = (selector, value) => {
const el = document.querySelector(selector);
if (!el) return;
el.value = value;
// Notificar a React / Vue del cambio
el.dispatchEvent(new Event('input', { bubbles: true }));
el.dispatchEvent(new Event('change', { bubbles: true }));
};
fill('#nombre', 'Carlos García');
fill('#email', 'carlos@ejemplo.com');
fill('#telefono', '600 000 000');
fill('#empresa', 'Mi Empresa S.L.');
Oculta barras laterales, anuncios y cualquier elemento que interrumpa la lectura. El artículo queda centrado con un ancho cómodo, como si fuera un lector de e-books.
// Ocultar elementos distractores al leer
[
'aside', '.sidebar', '.related-posts',
'.newsletter-popup', '[class*="ad-"]',
'.sticky-footer', '.interstitial'
].forEach(sel =>
document.querySelectorAll(sel)
.forEach(el => el.style.display = 'none')
);
// Centrar y ampliar el contenido principal
const main = document.querySelector(
'article, main, .content, #content'
);
if (main) {
main.style.maxWidth = '720px';
main.style.margin = '0 auto';
main.style.padding = '0 1.5rem';
}
Añade atajos de teclado a cualquier web que no los tenga: tu intranet corporativa, una app de gestión online o cualquier herramienta web que uses a diario.
// Añadir atajos de teclado personalizados
document.addEventListener('keydown', (e) => {
// Alt+H → ir a la página de inicio
if (e.altKey && e.key === 'h') {
document.querySelector('a[href="/"]')?.click();
}
// Alt+S → enfocar el buscador
if (e.altKey && e.key === 's') {
e.preventDefault();
document.querySelector(
'input[type="search"], #search'
)?.focus();
}
// Alt+T → volver al inicio de la página
if (e.altKey && e.key === 't') {
window.scrollTo({ top: 0, behavior: 'smooth' });
}
});
Elimina los bloques publicitarios más habituales: banners, intersticiales y vídeos que se reproducen solos. Complementa a los bloqueadores de anuncios tradicionales en las webs que los esquivan.
// Eliminar anuncios y bloques publicitarios
const adSelectors = [
'[id*="banner"]', '[class*="banner"]',
'[id*="advert"]', '[class*="advert"]',
'[id*="-ad-"]', '[class*="-ad-"]',
'[id*="sponsor"]', '[class*="sponsor"]',
'iframe[src*="ads"]', 'iframe[id*="_ads_"]', '.ad-container',
'#ad-top', '#ad-bottom', '.sticky-ad',
'ins.adsbygoogle'
];
const remove = () =>
adSelectors.forEach(sel =>
document.querySelectorAll(sel)
.forEach(el => el.remove())
);
// Eliminar los ya existentes
remove();
// Eliminar los que se inserten dinámicamente
new MutationObserver(remove).observe(
document.body,
{ childList: true, subtree: true }
);
Marca visualmente términos importantes en cualquier página: útil para revisar documentos, buscar erratas o identificar de un vistazo la información relevante en webs de monitorización o soporte.
keywords con tus términos// Resaltar palabras clave en la página
const keywords = ['error', 'crítico', 'urgente', 'fallo'];
const color = '#fef08a'; // amarillo
const regex = new RegExp(
`(${keywords.join('|')})`, 'gi'
);
const walk = (node) => {
if (node.nodeType === Node.TEXT_NODE) {
if (!regex.test(node.textContent)) return;
const span = document.createElement('span');
span.innerHTML = node.textContent.replace(
regex,
`$1`
);
node.replaceWith(span);
} else if (
node.nodeType === Node.ELEMENT_NODE &&
!['SCRIPT','STYLE','MARK'].includes(node.tagName)
) {
[...node.childNodes].forEach(walk);
}
};
walk(document.body);
Muchas webs deshabilitan el menú contextual para evitar que descargues sus imágenes. Este script añade un pequeño botón de descarga encima de cada imagen al pasar el ratón.
// Añadir botón de descarga sobre las imágenes
document.querySelectorAll('img').forEach(img => {
if (img.naturalWidth < 100) return; // ignorar iconos
const wrap = document.createElement('span');
wrap.style.cssText =
'position:relative;display:inline-block';
const btn = document.createElement('a');
btn.href = img.src;
btn.download = img.src.split('/').pop() || 'imagen';
btn.title = 'Descargar imagen';
btn.style.cssText = `
position:absolute;top:6px;right:6px;z-index:9999;
background:rgba(0,0,0,.65);color:#fff;
border-radius:6px;padding:4px 8px;font-size:12px;
opacity:0;transition:opacity .2s;cursor:pointer;
text-decoration:none;
`;
btn.textContent = '⬇ Descargar';
img.parentNode.insertBefore(wrap, img);
wrap.appendChild(img);
wrap.appendChild(btn);
wrap.addEventListener('mouseenter',
() => btn.style.opacity = '1');
wrap.addEventListener('mouseleave',
() => btn.style.opacity = '0');
});
Algunas webs bloquean campos de texto o botones por lógica de negocio, pero tú sabes lo que haces. Este script elimina el atributo disabled y el readonly de todos los controles del formulario.
// Desbloquear campos y botones desactivados
const sel = [
'input', 'textarea', 'select',
'button', '[role="button"]'
].join(',');
document.querySelectorAll(sel).forEach(el => {
el.removeAttribute('disabled');
el.removeAttribute('readonly');
el.removeAttribute('readOnly');
el.style.pointerEvents = '';
el.style.opacity = '';
});
// También desactivar CSS que bloquee la interacción
const style = document.createElement('style');
style.textContent = `
* { pointer-events: auto !important; }
input, textarea, select, button {
opacity: 1 !important;
cursor: auto !important;
}
`;
document.head.appendChild(style);
DESCARGA
Instálala en un clic desde la tienda oficial de cada navegador, o descarga el código fuente desde GitHub.
¿Prefieres instalar manualmente? Descarga la última versión desde GitHub Releases y cárgala en modo desarrollador en tu navegador.
PREGUNTAS FRECUENTES
Un script JavaScript es un pequeño programa que le dice al navegador que realice alguna acción en una página web: ocultar un elemento, cambiar un color, rellenar un campo... No necesitas ser programador para empezar. Puedes encontrar infinidad de fragmentos de código listos para usar en comunidades como Stack Overflow o simplemente copiar ejemplos que otros usuarios comparten.
Sí, 100% gratuita. No existe ningún plan de pago ni versión premium. Toda la funcionalidad está disponible desde el primer momento, sin límites en el número de scripts ni de páginas.
Totalmente. La extensión no envía ningún dato a servidores externos. Todo se almacena localmente en el almacenamiento de tu navegador. No hay analíticas, no hay telemetría ni seguimiento de ningún tipo. El código fuente es completamente abierto y puedes auditarlo en cualquier momento en GitHub.
Funciona en la gran mayoría de páginas. Algunos sitios con políticas de seguridad muy estrictas (Content Security Policy) pueden impedir la ejecución de scripts externos, aunque la extensión utiliza una técnica especial para evitar estas restricciones en la mayoría de los casos. Las páginas del propio navegador (chrome://, about:, etc.) están excluidas por diseño del navegador.
Sí. Desde la página de gestión puedes exportar todos tus scripts a un archivo JSON. Para importarlos en otro equipo o navegador, usa la función de importación y elige el modo que mejor se adapte a tu situación: añadir solo los nuevos, fusionar actualizando los existentes o reemplazar todo por los del archivo.
Sí. Los scripts configurados con ejecución automática se activan en segundo plano cada vez que navegas a una página que coincide con el ámbito definido, independientemente de si tienes el popup de la extensión abierto o no.
Sí. El código fuente está disponible en GitHub bajo licencia abierta. Puedes reportar errores, sugerir mejoras o enviar pull requests. Las contribuciones son bienvenidas.
Gratis, sin registro, sin servidores. Instala Custom Script Injector y empieza a personalizar la web como siempre quisiste.