.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "} Wikipedia programming Bots Extensions Gadgets User scripts List Ranking Requests Guide Other scripts Newsletter Tools

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.

Using scripts: Frequently asked questions

Where can I find user scripts?

Try these pages:

How do you install user scripts?

Automatic installation

  1. Check the checkbox at Preferences → Gadgets → Advanced → check Install scripts without having to manually edit JavaScript files (documentation) and click Save.
  2. Visit Wikipedia:User scripts/List.
  3. 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

Simple method for scripts which are located on the English Wikipedia.

  1. First, make sure you are registered and logged in. Only logged-in users can install user scripts.
  2. Click here to edit your common.js file.
  3. 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 necessary mw.loader.load line along with a backlink.
    • For example, to install the Sharebox script, add the following line: ((subst:Lusc|User:TheDJ/sharebox.js))
  4. Save the page and bypass your cache to make sure the changes take effect.

Remote scripts

Alternative method for scripts which are not located on the English Wikipedia.

  1. First, make sure you are registered and logged in. Only logged-in users can install scripts.
  2. Edit your common.js file. Alternatively, you may use your skin.js to work only your current skin.
  3. Add the following line: mw.loader.load( '//en.wikipedia.org/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( '//en.wikipedia.org/wiki/User:GhostInTheMachine/NoEditSummary.js?action=raw&ctype=text/javascript' );
  4. Save the page and bypass your cache to make sure the changes take effect.

How do you add new scripts to the scripts list?

Main page: Wikipedia:User 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.
))

Writing user scripts

Main page: Wikipedia:User scripts/Guide

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.

Snippets

This list is transcluded from Wikipedia:User scripts/Snippets.

See also

Userbox

Want to advertise your user script development skills?

Markup Renders as
((user script developer))
This user develops
user scripts;
((user script developer2))
This user develops user scripts.
((user scripts created))
This user has created a user script;
((user scripts created|99))
This user has created 99 user scripts;

See also