Wikipedia:User scripts
This is an information page. It is not an encyclopedic article, nor one of Wikipedia's policies or guidelines; rather, its purpose is to explain certain aspects of Wikipedia's norms, customs, technicalities, or practices. It may reflect differing levels of consensus and vetting. |
Warning: You take full responsibility for any action you perform using any user script. You must read and understand Wikipedia policies and use this tool within these policies, or risk being blocked from editing. |
User scripts are programs written in JavaScript to facilitate the editing of Wikipedia. User scripts enable user accounts to do things they otherwise couldn't. Many user scripts are available, ready for you to install. Also, you can write a new user script, either by modifying an existing script or by starting from scratch.
WikiProject JavaScript is a collaboration of editors to improve Wikipedia's JavaScript coverage, write user scripts, and maintain user script-related pages (like the one you are reading right now). If you would like to join, sign up here.
A word about security
User scripts have unlimited access to your account by their very nature – unlike OAuth/bot password based applications such as Huggle, where you can control access levels, the script runs in your browser. Anything you can do on Wikipedia, it can do. As such, and this is especially pertinent to users with advanced permissions, make sure that you trust the user who wrote the script, as you will be held responsible for any actions it takes on your behalf. If you are "importing" a script (instead of copying the code itself) be warned that the user you are importing from could alter their script at any time. Only import from users you trust.
List of user scripts
If you come across or write a user script, please add it to Wikipedia:User scripts/List.
Don't see what you need? You can make a request for a new user script at Wikipedia:User scripts/Requests.
Search for user scripts
Search within the code of user scripts:
Search user scripts by title:
Using scripts: Frequently asked questions
Where can I find user scripts?
Try these pages:
- Wikipedia:User scripts/List – main script list
- Category:Wikipedia scripts – the category page
How do you install user scripts?
Automatic installation
- Check the checkbox at Preferences → Gadgets → Advanced → Install scripts without having to manually edit JavaScript files (documentation) and click Save.
- Visit Wikipedia:User scripts/List.
- Click "Install" after each script name to install the script. Some scripts may require additional steps, so be sure to visit the documentation if any.
Manual installation
- First, make sure you are registered and logged in. Only logged-in users can install user scripts.
- Click here to edit your common.js file.
- Add the following line:
{{subst:Lusc|script_path}}
– replace "script_path" with the full name of the .js page that opens when a script's "(source)" link is clicked. The Load user script (Lusc) template will add the necessarymw.loader.load
line along with a backlink.- For example, to install the Sharebox script, add the following line:
{{subst:Lusc|User:TheDJ/sharebox.js}}
- For example, to install the Sharebox script, add the following line:
- Save the page and bypass your cache to make sure the changes take effect.
Remote scripts
- First, make sure you are registered and logged in. Only logged-in users can install scripts.
- Edit your common.js file. Alternatively, you may use your skin.js to work only your current skin.
- Add the following line:
mw.loader.load( '//wiki.eso.workers.dev/wiki/script_path?action=raw&ctype=text/javascript' );
- — where "script_path" is the full name of the .js page that opens when a script's "(source)" link is clicked.
- For example, to install the NoEditSummary script, add the following line:
mw.loader.load( '//wiki.eso.workers.dev/wiki/User:GhostInTheMachine/NoEditSummary.js?action=raw&ctype=text/javascript' );
- Save the page and bypass your cache to make sure the changes take effect.
How do you add new scripts to the scripts list?
Use {{user script table row}}. Include at least the code page path and a short description. For example:
{{user script table row |name=My script |code=User:Me/MyJSpage.js |doc=User:Me/MyJSdocumentationPage |desc=This script does something useful. }}
- Name defaults to the code page's name, without its path or ".js".
- If a documentation page exists matching your .js page name, it will be linked automatically, without the need for a doc parameter.
Writing user scripts
Instructions for writing your own user scripts are included in Wikipedia:User scripts/Guide.
Additional script-writing resources are presented below.
Snippets
The following code snippets still exist under the now defunct WikiProject User scripts. Many are still in use by live scripts, and they may provide insights for current script developers.
Userbox
Want to advertise your user script development skills?
Markup | Renders as | ||
---|---|---|---|
{{user script developer}} |
| ||
{{user script developer2}} |
| ||
{{user scripts created}} |
| ||
{{user scripts created|99}} |
| ||