Fact-checked by Grok 2 weeks ago

Userscript manager

A userscript manager is a that allows users to install, manage, and execute —small programs designed to modify the appearance, behavior, or functionality of web pages in a targeted manner. These managers provide a for handling scripts, including from external sources, editing, enabling/disabling, and automatic updates, while ensuring scripts run in isolated contexts to enhance . By facilitating customizations such as , interface improvements, or automation on specific sites, userscript managers empower individuals to tailor their browsing experience without altering the core or website code. The concept of managers emerged in the mid-2000s as a way to extend browser capabilities beyond static extensions, with serving as the pioneering implementation for Mozilla Firefox. introduced the ability to run user-contributed on webpages, sparking a community-driven for web enhancements. Over time, this model influenced the development of cross-browser alternatives, adapting to evolving web standards and security requirements, such as Manifest V3 in Chromium-based browsers. Popular userscript managers include for , which remains a focused on open-source scripting, and Tampermonkey, a versatile option supporting , , , , and with features like script synchronization and a built-in editor. Other notable ones are Violentmonkey for multi-browser compatibility and Userscripts for , emphasizing privacy by avoiding data collection. These tools often integrate with repositories like Greasy Fork, a community platform hosting thousands of freely shared userscripts vetted for safety and usability. Userscript managers operate by injecting scripts into page loads based on user-defined rules, such as URL patterns, granting access to APIs like userScripts for registration and execution. This enables diverse applications, from productivity boosts (e.g., infinite scrolling or form autofills) to accessibility aids, while users retain control through explicit installation prompts and script management dashboards. However, they require caution, as scripts from untrusted sources could pose security risks, prompting managers to include features like blacklisting and syntax validation. Overall, userscript managers democratize web customization, bridging the gap between end-users and developers in an increasingly dynamic online environment.

Introduction

Definition

A userscript manager is a type of browser extension that utilizes specialized APIs, such as the browser.userScripts API in Firefox or the chrome.userScripts API in Chrome, to enable the registration, management, and execution of userscripts on web pages. In Chrome version 138 and later, users must enable the 'Allow User Scripts' toggle in extension settings to permit its use. Userscripts are compact JavaScript programs created by users or third parties to customize web browsing by altering the appearance, behavior, or functionality of specific websites, such as adding features or automating tasks. These managers provide a user interface for installing scripts from sources like repositories, enabling or disabling them, and configuring their scope without requiring users to develop full extensions. Userscripts are structured with a metadata block at the beginning, consisting of specially formatted JavaScript comments that define essential properties and behaviors. This block, enclosed between // ==UserScript== and // ==/UserScript==, includes headers such as @name for the script's title, @namespace for a unique identifier (often a URL to avoid conflicts), @version for update tracking, and @description for a summary of the script's purpose. Additional headers like @include or @match specify the URL patterns where the script should run, ensuring targeted execution. Unlike standard extensions, which are pre-packaged bundles of code submitted for review and distribution through official stores, managers emphasize dynamic handling of user-supplied scripts that can be installed and updated on-the-fly without store approval. This allows for greater flexibility in but requires explicit permissions like "userScripts" in the extension's to operate securely in isolated execution environments, distinguishing them from static content scripts in conventional extensions.

Purpose and Benefits

Userscript managers enable users to customize websites by injecting code that modifies page behavior and appearance, such as implementing ad-blocking to remove intrusive advertisements or applying tweaks to streamline navigation on complex sites. They also facilitate the addition of new features, including dark mode implementations for reducing during extended browsing sessions or productivity tools that integrate capabilities directly into web interfaces. Furthermore, these managers support task , like automatic form filling on or login pages, which saves time and reduces repetitive manual input. As of August 2025, Mozilla's updated add-on policies have simplified distribution for such tools. A key benefit is the enhanced user control over the web experience, allowing individuals to tailor sites to personal preferences without relying on developers to implement changes. Community-driven improvements are another advantage, as repositories like Greasy Fork host thousands of user-contributed scripts that address common pain points, fostering collaborative enhancements. Compared to full browser extensions, userscript managers are lightweight, requiring minimal resources since they execute small, targeted scripts rather than comprehensive applications. Common use cases include modifying social media feeds to prioritize content or hide distractions, enhancing developer tools by adding debugging overlays to web inspectors, and improving accessibility on legacy sites through features like adjustable text sizes or keyboard navigation aids.

History

Origins

Userscript managers originated in 2005 with the development of Greasemonkey, a browser extension created by Aaron Boodman for Mozilla Firefox. Boodman drew inspiration from early experiments in web customization, particularly Adrian Holovaty's prototype for compiling user scripts into bookmarklets, aiming to empower users to modify web pages dynamically without altering site code. This innovation addressed the limitations of static web content during the burgeoning Web 2.0 era, where interactive sites like social platforms demanded greater user control over interfaces and functionality. The concept emerged from a broader focused on experimentation and open-source browser tinkering. Firefox's extensible architecture, introduced in , provided the necessary for extensions to inject and execute custom scripts safely within web pages, isolating them from the core browser environment to prevent security risks. leveraged this to enable users to run on specific domains, altering elements like layouts, adding features, or automating tasks—transforming passive browsing into an active, programmable experience. A pivotal milestone came with Greasemonkey's initial public release on March 28, 2005, as version 0.2.5, which introduced capabilities like cross-domain XMLHTTP requests for enhanced script functionality. This launch rapidly popularized userscripts, fostering a community-driven ecosystem and prompting the creation of dedicated repositories such as userscripts.org later that year to host and distribute these custom scripts.

Key Developments

In 2010, was developed by Jan Biniok as a userscript manager that served as a compatible wrapper for scripts on Chromium-based browsers like , filling the gap left by the absence of full native support for such functionality in those platforms. This innovation allowed users to port and execute Firefox-originated scripts seamlessly in , expanding accessibility beyond the original foundation established in 2005. During the mid-2010s, open-source alternatives emerged to enhance cross-browser compatibility, with Violentmonkey introduced in 2013 as a lightweight option supporting WebExtensions across , , and . These developments coincided with growing integrations, such as the introduction of userscript support via extensions in , released in September 2021, enabling customization on Apple's mobile platform. In 2014, following security breaches, userscripts.org shut down, leading to the creation of Greasy Fork as a safer alternative repository for userscripts. By the early 2020s, particularly up to 2025, userscript managers faced challenges from 's transition to Manifest V3, which restricted dynamic code execution for security reasons, prompting adaptations like the introduction of the .userScripts API in 120 in December 2023. This API enabled extensions to register and run user-provided scripts while maintaining isolation, reflecting a broader emphasis on through enhanced sandboxing to prevent unauthorized or leakage.

Core Functionality

Script Installation and Management

Userscript managers facilitate the installation of scripts primarily through direct access to script URLs ending in .user.js, which trigger an installation dialog upon navigation with the manager enabled. In popular implementations like Tampermonkey, users can also install scripts by clicking install links from repositories, dragging and dropping .user.js files into the browser (with file URL access enabled), or manually adding them via the dashboard by pasting code that includes essential metadata headers for compatibility. Similarly, Greasemonkey prompts installation when visiting a .user.js URL, displaying script details such as name, description, and include/exclude rules before confirming. Integration with repositories streamlines the process; for instance, on Greasy Fork, users browse scripts and click a green install button, which prompts the manager—such as or —to confirm and add the script. OpenUserJS operates analogously, allowing navigation to a script page followed by a simple installation prompt in compatible managers like . File uploads provide an alternative for local or downloaded scripts, where users import .user.js files directly through the manager's interface, ensuring the script adheres to standard for proper recognition. Once installed, management tools enable users to organize and maintain scripts efficiently. Enabling and disabling occurs via toggles in the , with options to apply changes globally or per domain; for example, allows tagging scripts for batch enabling/disabling of groups. Updates are handled through version checks against remote sources defined in the script's @updateURL metadata, often automated in , with optional synchronization of installed scripts across devices via services like , or manually in by reloading scripts from their original URLs. Categorization aids in organization, typically by domain matching or functional tags; supports user-defined tags for grouping, while relies on editable include/exclude rules for filtering by site. Backup and export options include generating ZIP or JSON files of all scripts in 's utilities tab, or accessing 's script folder for manual backups. User interface elements centralize control in a accessible via menus or icons, listing all installed scripts with details like , , and author. Search and filter functions, such as tag-based queries in or rule-based sorting in , help locate scripts quickly. For conflicts, managers offer priority ordering or exclusion rules; allows adjusting script execution order and blacklisting problematic ones, while uses per-script toggles to resolve overlaps.

Execution Mechanism

Userscript managers inject scripts into web pages by leveraging APIs to execute in a controlled, sandboxed environment, isolating the script from the main page context to enhance security and compatibility. This injection typically occurs through content scripts that the manager extension registers, allowing scripts to interact with the (DOM) while preventing direct access to sensitive browser resources unless explicitly permitted. The process begins when the manager detects a matching and evaluates the script's block to determine execution timing and permissions. In Chromium-based browsers, Manifest V3 (standard as of 2024) influences execution by using service workers for background processing and the declarative UserScripts API for dynamic injection, with some limitations on features like regex matching in URL patterns. The timing of script execution is governed by the @run-at directive, which specifies phases aligned with standard events such as DOMContentLoaded. Possible values include document-start, which injects the script as early as possible before the DOM is parsed; document-end, which occurs after DOMContentLoaded but before full page load; and document-idle (the default), which runs after the page and its resources have loaded. Support for document-start is available in managers like but limited in Manifest V3 implementations like , where emulation via the UserScripts may not achieve true pre-DOM injection. This phased approach ensures scripts can modify page elements at optimal moments, such as altering styles before rendering (document-start) or manipulating content post-load (document-idle). Managers cache and replay DOM events like DOMNodeInserted or load to scripts injected after these events have fired, maintaining consistency across timings. URL matching and scoping are defined by directives like @match and @include in the metadata block, which filter scripts to specific domains or paths. The @match directive uses precise patterns, such as https://[example.com](/page/Example.com)/*, to apply the script only to matching URLs under strict rules that limit wildcard usage for . Similarly, @include allows broader patterns like http://www.[example.com](/page/Example.com)/* or even * for all sites, though @match is preferred for its robustness against unintended matches. These directives ensure scripts run only on intended pages, with @exclude providing overrides to prevent execution on specific subpaths. Permissions for enhanced functionality are controlled by the @grant directive, which explicitly whitelists access to manager-provided beyond standard . For instance, @grant GM_xmlhttpRequest enables cross-origin HTTP requests that bypass restrictions, allowing scripts to fetch external data securely. Without grants (equivalent to @grant none), scripts operate in a minimal with no special , relying on native features like fetch or localStorage. Multiple @grant lines can be used for different , but including none disables all others to enforce isolation. To support legacy scripts originally designed for , modern managers like implement compatibility layers that emulate Greasemonkey's API set, including functions such as GM_setValue for persistent and unsafeWindow for direct page context access. This emulation translates Greasemonkey-specific calls into equivalents, such as using Chrome's storage API for value persistence or content script messaging for cross-context communication, ensuring broad interoperability without requiring script rewrites. Sandbox modes further refine this, with options like ISOLATED_WORLD restricting scripts to the extension's context for safer DOM manipulation.

Browser-Specific Managers

is an open-source userscript manager exclusively designed for the browser, enabling users to install and run scripts that modify web page content, structure, or behavior. Since version 4.0, released in November 2017, it has been rebuilt to utilize Mozilla's WebExtensions API, ensuring compatibility with modern versions while maintaining for many legacy scripts through a compatibility layer. The project benefits from robust community involvement, with over 55 contributors actively maintaining its codebase and documentation via the official and repository. However, its update cadence has been relatively measured, with the latest stable release (version 4.13) as of 2025, prioritizing stability over frequent feature additions compared to more agile alternatives. For , the Userscripts extension serves as a dedicated, open-source manager tailored to Apple's ecosystem, allowing users to create, edit, and execute custom and CSS scripts directly within the browser. It leverages Safari's WebExtension API, which gained full support for content scripts and page modifications starting with and in 2021, enabling seamless integration without requiring jailbreaking or external tools. This implementation is inherently limited to Safari's JavaScriptCore engine for script execution, which provides optimized performance for but restricts compatibility with certain cross-engine features found in Chromium-based browsers. The extension emphasizes compatibility across and devices, requiring or later for full functionality, including synchronization of scripts between devices for a unified editing and management experience. Microsoft Edge, being built on the Chromium engine, lacks a proprietary userscript manager but supports specialized variants through its official add-ons store, with adaptations that align closely with environments. Popular options include ScriptRunner, a lightweight V3-compatible manager that allows direct script injection without additional permissions, and adaptations of , which provide advanced features like automatic updates and external editor integration tailored for Edge's policy framework. These tools often rely on 's core due to Edge's foundation, enabling script and blacklisting while adhering to Microsoft's policies for extension deployment and management in organizational settings. This approach ensures tight integration with Windows-based policies, such as those controlling extension permissions and data isolation, distinguishing Edge variants from more generalized cross-browser solutions.

Cross-Browser Managers

Cross-browser userscript managers enable script portability across multiple web browsers, allowing users to maintain consistent customizations without browser-specific reconfiguration. These tools prioritize compatibility with major platforms like Chromium-based browsers (e.g., , ), , and , facilitating seamless migration and broader adoption compared to browser-specific alternatives. Tampermonkey, a proprietary donationware extension developed since 2010, supports , , , , and Next, making it a cornerstone for multi-browser userscript deployment. It offers features such as cloud-based script syncing via services like , , , and , alongside an advanced in-browser editor for script creation and modification. With over 10 million users as of 2025, 's ease of use and migration tools contribute to its widespread appeal. Violentmonkey, an open-source originating in 2015, provides compatibility with , , , and other WebExtensions-supported browsers, emphasizing a lightweight design at approximately 640 KiB. It supports and script formats, with sync options including , , , and , and explicitly avoids or . This focus on and appeals to users seeking an without proprietary elements. As of 2025, extension store data indicates 's mature ecosystem and straightforward cross-browser migration contribute to its popularity, while Violentmonkey captures a notable portion among open-source enthusiasts.

Usage Guide

Installation and Setup

Installing a userscript manager typically begins with downloading it from the browser's official extension store, where users search for the desired manager, such as for Chromium-based browsers or Violentmonkey for . For example, in , users navigate to the , search for "Tampermonkey," and click "Add to Chrome" to initiate the installation process. Upon confirmation, the browser prompts for permissions, including access to websites for script injection, which must be enabled to allow the manager to modify page content. Initial configuration often involves setting basic options, such as the default script update interval, through the extension's settings menu to automate checks for script updates. Following installation, users access the manager's dashboard by clicking its icon in the browser toolbar and selecting the dashboard option, providing an interface for script management. To import scripts from backups, open the dashboard, navigate to the Utilities tab, and select the import feature to load files in Zip or JSON format, facilitating migration from other managers or devices. Global settings, including grants for APIs such as downloads or notifications and preferences like themes, are configured in the dedicated Settings tab to customize behavior and ensure compatibility with browser features. In browsers supporting Manifest V3, such as recent versions of , on the extension's details page (e.g., via chrome://extensions), users may need to enable the "Allow User Scripts" toggle (available in Chrome 138 and later) for full functionality. Troubleshooting common issues is essential for smooth operation. Permission denials frequently occur in Manifest V3 environments due to restrictions on executing arbitrary remotely hosted code, which can prevent script injection; this is mitigated by leveraging the UserScripts API introduced in Chrome 120, allowing registration of dynamic content scripts. Developers and users can further address access limitations by delegating tasks to offscreen documents for DOM manipulation. Conflicts with ad-blockers may also arise if the blocker filters resources needed for script execution, requiring users to the manager's or adjust extension load order in browser settings.

Script Creation and Editing

Userscript managers typically provide built-in editors to facilitate the and modification of scripts directly within the browser environment. For instance, features a syntax-highlighted code editor that supports and userscript metadata, along with auto-completion for Greasemonkey-compatible APIs such as GM_setValue and GM_xmlhttpRequest. This interface allows developers to write and edit code efficiently without external tools, though advanced users may integrate external for more robust features. While live previews are not natively built-in, changes saved in the editor take effect immediately upon script reload on matching pages, enabling iterative testing. A userscript begins with a mandatory metadata header block enclosed by // ==UserScript== and // ==/UserScript==, which uses line comments to define key attributes like name, version, and matching rules. This block precedes the main JavaScript code and informs the manager how to install and execute the script. For example, a basic structure might include:
// ==UserScript==
// @name        Example Script
// @namespace   http://example.com
// @version     1.0
// @match       https://example.com/*
// @grant       none
// ==/UserScript==

(function() {
    'use strict';
    var button = document.createElement('button');
    button.textContent = 'Click me';
    button.onclick = function() { alert('Hello!'); };
    document.body.appendChild(button);
})();
This header ensures compatibility across managers like and , while the JavaScript portion manipulates the DOM, such as creating and appending elements. Testing and occur primarily through tools, with as a core method to output messages and inspect variables during execution. Modern rely on the standard console.log() function for this purpose, as the legacy GM_log() was deprecated in 4.0 and is no longer recommended. can access the console via dev tools (e.g., F12 in ) to view logs specific to the , often filtered by the script's name. For integration, many host scripts on platforms like , using the @updateURL directive to point to a raw script file for automatic updates when the version increments. This enables seamless sharing and collaboration without manual reinstallation.

Security and Limitations

Risks and Vulnerabilities

Userscript managers introduce significant security risks primarily through the execution of potentially malicious scripts sourced from untrusted repositories. Malicious userscripts can perform , such as capturing credentials via keylogging or extracting sensitive information from form fields, as demonstrated in analyses of over 86,000 scripts where 70 were found to steal credentials directly. These scripts often exploit (XSS) vulnerabilities, with 1,736 scripts identified as susceptible to DOM-based XSS attacks that enable injection of harmful code without persistent storage. Additionally, improper use of directives like @include allows scripts to run on unintended domains, affecting 60.1% of examined scripts and facilitating unauthorized access to cross-origin resources. The @grant directive, intended to specify permissions such as GM_xmlhttpRequest for cross-domain requests, can be abused to escalate privileges, enabling scripts to bypass models like the . Vulnerabilities within the managers themselves further compound these threats. Historical analyses revealed flaws in engines like , where 60 scripts exposed privileged s through eval() vulnerabilities, allowing attackers to launch exploits even against the manager's isolation mechanisms. A notable example includes a proof-of-concept attack on a popular script with 1.2 million users, combining generic @include, XSS, and eval() to enable attacks across sites. Browser evolutions, such as the transition to Manifest V3, which intensified in 2023, impose restrictions on dynamic script injection by prohibiting remotely hosted code and replacing flexible APIs like webRequest with limited alternatives, potentially breaking compatibility for userscript managers and exposing users to incomplete protections during transitions. While Manifest V3 introduces a User Scripts to mitigate some risks by enabling safer dynamic execution, it still curtails the runtime flexibility that managers rely on, increasing vulnerability to evasion by sophisticated scripts. Privacy concerns arise from scripts operating in the page context without inherent sandboxing, allowing them to access and transmit user data to third parties. For instance, vulnerable scripts can leak , session tokens, or personal details via unauthorized network requests, as seen in cases where third-party inclusions in 25 malicious scripts facilitated . This lack of means that even benign scripts from unvetted sources risk unintended data exposure, particularly when combined with broad permissions that grant access to browser storage or . While early analyses from 2014 highlighted these risks, the adoption of Manifest V3 by 2024–2025 has aimed to address dynamic injection vulnerabilities through enhanced , with userscript managers like achieving full compatibility.

Best Practices and Alternatives

To safely utilize userscript managers, users should prioritize sourcing scripts from verified repositories such as the official script library or established platforms like Greasy Fork, which curate and moderate contributions to minimize malicious content. Before installation, it is essential to review the script's directly within the manager's , where tools like allow editing and inspection to identify potential vulnerabilities or unnecessary permissions. Additionally, selecting managers with built-in logging features, such as 's execution , enables monitoring of script activity for anomalies. A key security measure involves limiting the use of the @grant directive in scripts to only essential APIs, such as GM_xmlhttpRequest for cross-origin requests, thereby restricting access to sensitive browser functions and reducing the risk of . For those seeking alternatives to dedicated userscript managers, native tools offer a lightweight option for executing one-off scripts without persistent installation. In DevTools, for instance, the Snippets feature in the Sources panel allows authoring and running code snippets directly on the current page, ideal for temporary modifications or debugging. For more robust, site-specific customizations involving reviewed code, developing full extensions provides a secure pathway, as they undergo store vetting processes and can leverage APIs like content scripts for targeted injections, bypassing the need for third-party script management. An emerging standard mitigating reliance on external managers is the WebExtensions User Scripts API, introduced in 2023 as part of Manifest V3, which enables extensions to register and execute third-party scripts declaratively against URL patterns while maintaining isolation from core extension code. As of 2025, browser vendors have advanced declarative APIs, such as the User Scripts API, integrating userscript-like functionality more natively and supporting the migration of standalone managers to Manifest V3-compliant versions, thereby enhancing through built-in safeguards like isolated worlds.

References

  1. [1]
    Add-on Policies | Firefox Extension Workshop
    Sep 17, 2025 · A user script manager is an extension that allows users to manage website-specific scripts. The userScripts API cannot be used to extend or ...
  2. [2]
    chrome.userScripts | API - Chrome for Developers
    Aug 11, 2025 · The User Scripts API lets you run arbitrary code. This API is required for extensions that run scripts provided by the user that cannot be shipped as part of ...
  3. [3]
    Tampermonkey: Home
    With Tampermonkey, you can easily create, manage, and run these userscripts on any website you visit. For example, with Tampermonkey, you could add a new button ...Support · Userscripts · Changes · Firefox<|control11|><|separator|>
  4. [4]
    Greasemonkey is a user script manager for Firefox. - GitHub
    Greasemonkey is a user script manager for Firefox. User scripts are small browser extensions that let you customize your web browsing experience.
  5. [5]
    Userscript - WebGlossary.info
    ... history. Userscripts are often referred to as Greasemonkey scripts, named after the original userscript manager for the Firefox browser. ← Wikipedia.
  6. [6]
    An open-source userscript manager for Safari - GitHub
    Userscripts does not collect any data from its users nor monitor activities or actions you perform within the application and extension. This means everything ...
  7. [7]
    Greasy Fork - safe and useful user scripts
    ### Summary of Userscripts and Userscript Managers from Greasy Fork
  8. [8]
    What Is a Userscript? - Computer Hope
    Jul 9, 2025 · A userscript or user script is a script ran in a web browser, enabled by a browser extension, to alter the way a website is displayed or used.
  9. [9]
    userScripts - Mozilla | MDN
    ### Summary of userScripts API
  10. [10]
    Metadata Block - Greasespot Wiki
    Mar 3, 2025 · The metadata block is a section of a user script that describes the script. It usually contains the script name, namespace, description, and include and ...
  11. [11]
    Greasemonkey – Get this Extension for 🦊 Firefox (en-US)
    No readable text found in the HTML.<|separator|>
  12. [12]
  13. [13]
    [PDF] Bringing Web 2.0 to the Old Web: A Platform for Parasitic Applications.
    Examples for approaches that deal with transforming a website's appearance are toolkits such as the browser extensions Greasemonkey and Platypus, as well as WBI.
  14. [14]
    Greasemonkey / Wiki / Greasemonkey_Manual:Installing_Scripts
    The purpose of Greasemonkey is to manage user scripts. User scripts allow the user to control the way one uses the web, by customizing it with scripting. The ...
  15. [15]
    Version history - Greasespot Wiki
    Aug 5, 2024 · Greasemonkey 4.0 was released with several features missing. Further releases in the (near) future should add most or all of Greasemonkey's older features back.
  16. [16]
    Greasy Fork is a Userscript.org alternative by the creator of ... - Ghacks
    Mar 29, 2014 · To be a safe script repository for users interested in userscripts. This means taking care of malicious and spam scripts so that users do not ...
  17. [17]
    What is Tampermonkey? - Computer Hope
    Nov 18, 2022 · Originally developed by Jan Biniok, Tampermonkey is a donationware userscript manager released in May 2010. Today, Tampermonkey is a browser ...
  18. [18]
    It's important to know why the three exist. Greasemonkey is the ...
    Greasemonkey was the original Firefox extension. Tampermonkey was Chrome's alternative. Violentmonkey started as an Opera extension, later ported to Firefox ...
  19. [19]
    FAQ | Tampermonkey
    Tampermonkey is a browser extension that extends browser functionality by adding features like userscript injection.
  20. [20]
    Violentmonkey provides userscripts support for browsers. It ... - GitHub
    Violentmonkey provides userscripts support for browsers. It works on browsers with WebExtensions support. - violentmonkey/violentmonkey.Violentmonkey · Issues · Pull requests 4 · Discussions
  21. [21]
  22. [22]
    Userscripts - App Store - Apple
    Rating 4.4 (164) · Free · iOSUserscripts is an open source Safari extension that lets you save and run arbitrary bits of JavaScript (and CSS) code for the websites you visit.
  23. [23]
    userScripts.register() - Mozilla - MDN Web Docs
    Jul 17, 2025 · Browser compatibility ; Chrome – Full support. Chrome 120. Chrome – Full support. Chrome 120 (Release date: ⁨2023-12-05⁩). footnote Full support.Missing: introduction | Show results with:introduction
  24. [24]
    Greasemonkey Manual:Installing Scripts - Greasespot Wiki
    Nov 3, 2017 · To install a script, find a .user.js file, navigate to it with Greasemonkey enabled, and click the install button in the dialog.Missing: docs | Show results with:docs
  25. [25]
    About / Tampermonkey for Chrome - OpenUserJS
    Installing Userscripts. Once Tampermonkey is installed, installing userscripts from OpenUserJS.org is simple. Navigate to the OpenUserJS page for the script, ...
  26. [26]
    Greasemonkey / Wiki / Greasemonkey_Manual:Managing_Scripts
    Selecting any installed user script in the list will allow, and optionally display, additional options pertaining to individual script management.Missing: docs | Show results with:docs<|control11|><|separator|>
  27. [27]
    Documentation - Tampermonkey
    Allows userscripts to access the text of a resource (such as a JavaScript or CSS file) that has been included in a userscript via @resource . The function takes ...
  28. [28]
    @grant - Greasespot Wiki
    ### Summary of @grant Directive
  29. [29]
  30. [30]
    Greasemonkey version history - 14 versions - Firefox Browser Add-ons
    Version 4.0 ... WebExtensions API to work with Firefox 57 and beyond. For more detail see http://www.greasespot.net/2017/09/greasemonkey-4-announcement.html .
  31. [31]
  32. [32]
    ScriptRunner - v3 userScript manager - Microsoft Edge Addons
    Oct 14, 2024 · ScriptRunner allow you to create,manage and inject userScripts on any website you want.
  33. [33]
    Home | Tampermonkey
    ### Summary: Tampermonkey for Microsoft Edge
  34. [34]
    Violentmonkey
    Violentmonkey provides userscripts support for browsers. Features. Powerful. Customize web pages. Automate your work. Data on the cloud. Sync to Dropbox, ...Get Violentmonkey · Creating a userscript · Privileged APIs · FAQMissing: history 2015
  35. [35]
    Tampermonkey is the most popular userscript manager, with over 10 ...
    Tampermonkey is the most popular userscript manager, with over 10 million users. It's available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox.Tampermonkey/tampermonkey · Tampermonkey · Pull requests 2 · DiscussionsMissing: 2010 | Show results with:2010
  36. [36]
    Tampermonkey - Chrome Web Store
    - **Number of Users**: Over 10 million
  37. [37]
    Violentmonkey - Chrome Web Store
    - **Number of Users**: 710 ratings
  38. [38]
    Tampermonkey – Get this Extension for Firefox (en-US)
    Rating 4.7 (5,208) · FreeSep 15, 2025 · Tampermonkey makes it very easy to manage your userscripts and provides features like a clear overview over the running scripts, a built-in ...
  39. [39]
    Known issues when migrating to Manifest V3 - Chrome for Developers
    Sep 23, 2022 · User Script support: Allow registering content scripts with arbitrary code with the new userScripts API [Chrome 120]. Additional strong ...
  40. [40]
    Autocomplete and lint in the editor · Issue #243 · Tampermonkey ...
    Oct 24, 2015 · Simply open Tampermonkey's options page, select the "Help" tab and search for "autocomplete". Sign up for free ...
  41. [41]
    GM log - Greasespot Wiki
    - **GM_log Usage**: GM_log was a method for console logging in userscripts, used for testing and debugging.
  42. [42]
    How to make userscript auto update from private domain/github?
    Jun 8, 2022 · You can remove the updateURL and open the raw file in the repository browser view. Tampermonkey will detect the file and offers to (re)install it.Tampermonkey script not auto-updating - Stack OverflowWhy is usage of the downloadURL & updateURL keys called ...More results from stackoverflow.com
  43. [43]
    Chapter: Sharing and Collaborating on Userscripts
    By examining the commit history and changes made by others, users can gain insights into best practices, coding conventions, and the evolution of the userscript ...
  44. [44]
    [PDF] Malware and Vulnerabilities in Augmented Browsing Script Markets
    The userscripts.org community website has a community- based, manual reviewing process to detect malicious user scripts. When a malicious user script is ...Missing: risks | Show results with:risks
  45. [45]
    Chrome Users Beware: Manifest V3 is Deceitful and Threatening
    Dec 9, 2021 · Manifest V3, or Mv3 for short, is outright harmful to privacy efforts. It will restrict the capabilities of web extensions.
  46. [46]
    Resuming the transition to Manifest V3 | Blog - Chrome for Developers
    Nov 16, 2023 · Adding a new User Scripts API, which allows userscript manager extensions to more safely allow users to run their scripts; Improving content ...
  47. [47]
  48. [48]
    FAQ | Tampermonkey
    ### Security Best Practices for Using Tampermonkey
  49. [49]
  50. [50]
    Run snippets of JavaScript | Chrome DevTools
    Snippets are small scripts that you can author and execute within the Sources panel of Chrome DevTools. You can access and run them from any page.
  51. [51]
    Userscripts vs. Chrome Extension [closed] - Stack Overflow
    Nov 21, 2012 · There are a few differences between a native Chrome extension and a user script. See this wiki section for a list of differences between ...Google Chrome userscript vs extension? - javascript - Stack OverflowShould I write an extension or a tampermonkey script?More results from stackoverflow.comMissing: manager | Show results with:manager
  52. [52]
    What's new in Chrome extensions
    Posted on December 14, 2023. Beginning in Chrome 120, Manifest V3 extensions can use the chrome.alarms API with delays or periods of 30 seconds, rather than ...