Help:Magic words

Jump to: navigation, search
MediaWiki Handbook: Contents, Readers, Editors, Moderators, System admins +/-

This is an organized index of Magic words used in MediaWiki.

A "magic word" is a symbol recognized by the MediaWiki software and which when seen in the non-commented text of the page, triggers the software to do something other than display that symbol, or transclude a page with that name, but instead to use the symbol directly.

A magic word can be:

  • an upper case word, preceded and followed by two underscores, e.g. __NOTOC__
  • an XML object, coded similar to HTML, preceded by "<" (and for the end tag "/") and followed by ">", as in <nowiki>...</nowiki>
  • a parser function: similar to a template, a word preceded by the symbols "{{" and followed by "}}", and optionally parameter definitions between pipe characters, except that the part before the first pipe (or without pipes, the text between the braces) contains a colon (":"), e.g. {{ns:3}} and {{#ifexpr:{{{1}}}>3|large|small}}
  • a variable: similar to a template without parameters, a word preceded by the symbols "{{" and followed by "}}", except the word used is in all upper case, e.g. {{CURRENTDAY}}
  • a template modifier
  • an image modifier

If a page in the template namespace has the same name as a magic word, the magic word will be invoked instead. If you discover you absolutely have to define a template with the same name as a magic word, prefix the name of the template with "msg:" or the name of the template namespace ("Template:"). See below for further details if you need this feature.

Tags which are used on this page such as "[MW1.5+]" indicate the MediaWiki version that first supported the magic word. "XYZ" indicates user input, which is used in the example.


Magic words between double underscores

Table of contents

For details see Help:Section
Word Explanation
__NOTOC__ Hides the ToC (table of contents) on the current page.
__FORCETOC__ Forces the ToC to appear.
__TOC__ Places a ToC here (overriding any __NOTOC__). Multiple ToCs are no longer supported. If __TOC__ is used multiple times, only the first occurence causes a ToC to appear.


Word Explanation
__NOEDITSECTION__ Hides the edit links beside headings. Also, will no longer automatically edit only one section at a time when double- or right-clicking a heading (if you have that feature enabled in your preferences)
__NEWSECTIONLINK__ [MW1.7+] Gives a "+"-link next to the edit-tab to make a new section on a non-talk page (post-a-comment feature).
Don't perform the content language conversion (character and phase) in article display; for example, Chinese zh with zh_cn, zh_tw, zh_sg, zh_hk.
__NOGALLERY__ [MW1.7+] This magic word allows images in category pages to be displayed as inline links instead of gallery.
Like __NOCC__ but affecting article title only.
__END__ Allows for trailing whitespace to be included in the page save (does not seem to work anymore).
__START__ This magic word has no effect but an ID in MagicWord.php (MAG_START).
__HIDDENCAT__ When placed anywhere on a category page, this magic word causes that category not to appear in the horizontal box near the bottom of every member page. See Help:Category#Hidden_categories for further detail.

XML-style tags

XML-style tags use the syntax <tag name>contents</tag name>. XML-style tags are frequently used by MediaWiki extensions; see Extending wiki markup for details on adding new tags.


The following tags are available in a default MediaWiki installation.

  • parsing is the conversion of text markup and XHTML to formatting and structure like templates, links, formatting, line breaks, et cetera. Two tags affect parsing:
    • nowiki disables parsing of all wiki syntax. For example, "<nowiki>'''[[{{tc}}]]'''</nowiki>" gives "'''[[{{tc}}]]'''".
    • pre mimics nowiki above in a formatted box, and preserves new lines. For example, "<pre>'''[[{{tc}}]]'''</pre>" outputs as:
  • transclusion is adding the content of one page to another using the {{...}} template syntax. Three tags affect transclusion:
    • noinclude prevents text from appearing when the page is transcluded, so the text will only be visible on the current page. For example, "<noinclude>[[Category:Foo]]</noinclude>" will only categorize the template page.
    • includeonly hides text on the current page, so that it will only appear when the page is transcluded. For example, "<includeonly>[[Category:Foo]]</includeonly>" will categorize all pages that transclude the template, but not the template itself.
    • onlyinclude hides all other text when the page is transcluded, so that only the text inside the onlyinclude tags will be shown. For example, "I am an <onlyinclude>apple</onlyinclude>." will output "apple" when transcluded.
  • math uses TeX markup to generate complex mathematics, usually in image form (see Help:Displaying a formula). For example, "<math>\sqrt{a^2+b^2}</math>" outputs as <math>\sqrt{a^2+b^2}</math>.

Common extensions

  • hiero (WikiHiero extension) uses the Hieroglyph coding manual syntax to generate images of hieroglyphs. For example, "<hiero>A1</hiero>" outputs as <hiero>A1</hiero>.


For details see Help:Variable


The time in UTC. Note that if the page was displayed by the same user and has not changed (has not been edited) since the last time it was displayed, it is possible that the page may be cached (by the user's browser) and the displayed time or date may not change. Also, if a heavily used page, rather than freshly rendered by the software each time it is generated, is instead being retrieved from a caching system (such as the main page on Wikipedia) the date or time may not change from the last time the page was originally retrieved by the caching hardware or software.

Word Example Explanation
{{CURRENTDAY}} 9 Displays the current day in numeric form.
{{CURRENTDAY2}} 09 [MW1.6+] Same as {{CURRENTDAY}}, but with leading zero (01 .. 31).
{{CURRENTDAYNAME}} Monday Name of the day in the language of the project or English.
{{CURRENTDOW}} 1 Same as {{CURRENTDAYNAME}}, but as a number (0=Sunday, 1=Monday...).
{{CURRENTMONTH}} 12 The number 01 .. 12 of the month.
{{CURRENTMONTHABBREV}} Dec [MW1.5+] Same as {{CURRENTMONTH}}, but in abbreviated form (Jan .. Dec).
{{CURRENTMONTHNAME}} December Same as {{CURRENTMONTH}}, but in named form (January .. December).
{{CURRENTTIME}} 16:02 The current time (00:00 .. 23:59).
{{CURRENTHOUR}} 16 The current hour (00 .. 23).
{{CURRENTWEEK}} 50 Number of the current week (1-53) according to ISO 8601 with no leading zero.
{{CURRENTYEAR}} 2019 Returns the current year.
{{CURRENTTIMESTAMP}} 20191209160258 [MW1.7+] ISO 8601 time stamp.

Local time

The time depending on the local timezone of the wiki (not depending on the timezone in the user's preference settings). (All words [MW1.8+] )

Word Example Explanation
{{LOCALDAY}} 9 Displays the local day of the month in numeric form.
{{LOCALDAY2}} 09 Same as {{LOCALDAY}}, but with a leading zero (01 .. 31).
{{LOCALDAYNAME}} Monday Name of the day in the language of the project or English.
{{LOCALDOW}} 1 Same as {{LOCALDAYNAME}}, but as a number (0=Sunday, 1=Monday...).
{{LOCALMONTH}} 12 The number 01 .. 12 of the month.
{{LOCALMONTHABBREV}} Dec Same as {{LOCALMONTH}}, but in abbreviated form as Jan .. Dec.
{{LOCALMONTHNAME}} December Same as {{LOCALMONTH}}, but in named form as January .. December.
{{LOCALTIME}} 11:02 The local time (00:00 .. 23:59).
{{LOCALHOUR}} 11 The local hour (00 .. 23).
{{LOCALWEEK}} 50 Number of the local week (1-53) according to ISO 8601 with no leading zero.
{{LOCALYEAR}} 2019 Returns the local year.
{{LOCALTIMESTAMP}} 20191209110258 ISO 8601 time stamp.


Statistics variables give thousands separators unless ":R" for "raw" is added (actually, these versions are parser functions).

Word Example Explanation
{{CURRENTVERSION}} 1.21.1 [MW1.7+] $wgVersion [1]
[MW1.10+ (r21319)] Returns the total number of page edits since MediaWiki, the software that runs this site, was installed.
A variable which returns the total number of articles on the Wiki.
[MW1.7+] Returns the total number of pages. [2]
[MW1.5+] Returns the number of uploaded files (rows in the image table).
[MW1.7+] Returns the number of registered users (rows in the user table).
[MW1.7+] Returns the number of administrators (users in the sysop group).
{{PAGESINNAMESPACE}}  disabled here Longer alias of PAGESINNS
disabled here
[MW1.7+] Returns the number of pages in the given namespace. Disabled by default, enable with $wgAllowSlowParserFunctions.

Page names and related info

Word Example Explanation
This page "User:Anonymous user/sandbox/my page" page
"User talk:Anonymous user/sandbox/my page" page
{{PAGENAME}} Magic words Anonymous user/sandbox/my page Returns the name of the current page, including all levels (Title/Subtitle). This does not include the name of the namespace.
{{PAGENAMEE}} Magic_words Anonymous_user/sandbox/my_page More URL-friendly percent encoded special characters (To use an articlename in an external link).
Magic words
Anonymous user/sandbox
[MW1.7+] The basename of a subpage ("Title/Other" on "Title/Other/Subtitle"), see Help:Link.
Magic words
my page
[MW1.6+] Name of the current page, excluding parent pages ("Subtitle" on "Title/Other/Subtitle") in namespaces supporting subpages, see Help:Link.
Returns the name of the namespace the current page resides in.
User talk
Help:Magic words
User:Anonymous user/sandbox/my page
[MW1.6+] Shorthands for NAMESPACE+PAGENAME
User talk:Anonymous user/sandbox/my page
Help talk
User talk
[MW1.7+] Name of next odd namespace (e.g. 4 => 5)
[MW1.7+] Name of last even namespace (e.g. 5 => 4)
[MW1.7+] An alias for SUBJECTSPACE(E)
Help talk:Magic words
User talk:Anonymous user/sandbox/my page
Help:Magic words
User:Anonymous user/sandbox/my page
Help:Magic words
User:Anonymous user/sandbox/my page
[MW1.7+] An alias for SUBJECTPAGENAME(E)
{{REVISIONID}} 1628 N/A [MW1.5+] The unique identifying number of a page, see Help:Diff. Note that when editing a page, this value is null.
{{REVISIONDAY}} 14 N/A [MW1.8+] The day on which the page was last modified.
{{REVISIONDAY2}} 14 N/A [MW1.8+] The day on which the page was last modified, but with a leading zero (01 .. 31).
{{REVISIONMONTH}} 04 N/A [MW1.8+] The month in which the page was last modified.
{{REVISIONYEAR}} 2008 N/A [MW1.8+] The year in which the page was last modified.
{{REVISIONTIMESTAMP}} 20080414142743 N/A [MW1.8+] ISO 8601 time stamp, indicating when the page was last modified.
{{SITENAME}} WikiNASIOC Value of $wgSitename.
{{SERVER}} Value of $wgServer
{{SCRIPTPATH}} /w [MW1.5+] $wgScriptPath
{{SERVERNAME}} [MW1.5+] $wgServerName


Word Example Example results Explanation
[MW1.13+] Returns the number of pages in a given category. Including sub-category pages and file description pages.
{{PAGESINCAT:User en}}
{{PAGESINCAT:User en|R}}

Parser functions

For details see Help:Parser function.

Not working at the position of the page where the tag is located but on the page header, and throughout the page, respectively (see below):

  • DISPLAYTITLE: allow the page header to be different from the page name.
  • DEFAULTSORT: Sets a default category sort key for the page.

Namespaces and URLs

Word Example Explanation
{{ns:}} {{ns:4}} = WikiNASIOC
{{ns:project}} = WikiNASIOC
Returns the local name of a given namespace number.
{{localurl:x y @}}
{{localurle:x y @}}
/wiki/[email protected]
/wiki/[email protected]
Returns the local URL of a page (might not exist). Optional query parameter, see Help:Variable.
{{urlencode:x y @}} x+y+%40 [MW1.7+] Encodes variable values for use in external links. [3]
{{anchorencode:x #y @}} x_.23y_.40 [MW1.8+] Encodes variable values for use in section anchors. [4]
{{fullurl:x y @}}
{{fullurle:x y @}}
{{fullurl:m:a|b=c}}[email protected][email protected]
[MW1.5+] Returns the full URL of a given page. Optional query parameter as for localurl:.


Word Example Explanation
{{#language:}} {{#language:da}} = dansk [MW1.7+] Native name of language code.
{{lc:}} {{lc:AbC dEf}} = abc def [MW1.5+] LowerCase
{{lcfirst:}} {{lcfirst:Ab Cd}} = ab Cd [MW1.5+] LC first char.
{{uc:}} {{uc:aBc DeF}} = ABC DEF [MW1.5+] UpperCase
{{ucfirst:}} {{ucfirst:aB cD}} = AB cD [MW1.5+] UC first char.
{{formatnum:}} {{formatnum:-299792458.56789}} = -299,792,458.56789 [MW1.7+] Changes the decimal separator and adds digit group separators (before the decimal separator only) according to the wiki's default locale. Also changes the digits into the local script. Leading minus and plus are recognized.


{{padleft:7|3|0}} = 007

{{padleft:0|3|0}} = 000

{{padleft:bcd|6|a}} = aaabcd
{{padleft:cafe|8|-}} = ----cafe

{{padleft:bcd|6|{{!}}}} = |||bcd

{{padright:bcd|6|a}} = bcdaaa
{{padright:0|6|a}} = 0aaaaa

First case is, for example, applicable to years in a category... giving an ordered year to sort by pipetricks order, or any such ordering where left extended zeros allow a proper sorting.

[MW1.8+] Pads a string with a character to the specified width. Note that there's a little bug that interprets non-US-ASCII characters as two, instead of one character (see the difference in café and cafe in the examples.)

It does not seem possible to use padleft and padright for padding with characters with a multi-character code, such as &nbsp;, which would be useful with padleft for sorting tables with Javascript.

Also, giving a non-ASCII character as a character to replicate results in a "?" character. bugzilla:12324

{{#tag:}} {{#tag:myextension | content | attr=val | attr2=val2 }} = <myextension attr=val attr2=val2>content</myextension> [MW1.12+, r29482] Passes attributes and inner content to an XML-style parser tag, parsing template variables along the way. See Bug 2257 and Extension:TagParser.

With regard to #language and template:n local ( talk edit history links ), see also:

Note: An alternative of LC and UC, for display only (not for further processing) is with CSS:

  • "<span style="text-transform: lowercase">aBc deF</span>" gives "aBc deF" [5]
  • "<span style="text-transform: uppercase">aBc deF</span>" gives "aBc deF" [6]

Capitalizing the first letter of each word:

  • "<span style="text-transform: capitalize">aBc deF</span>" gives "aBc deF" [7]

Template modifiers

Usage Explanation
{{:xyz}} A bare colon is not a template modifier, it's the prefix for the main namespace. Test e.g. article {{:UTC}} vs. template {{UTC}}.
Using this syntax you include the text of the main namespace article xyz in another article.
{{int:xyz}} Same as {{MediaWiki:xyz}}, except standard message translation is applied depending on subpages and content/user/uselang language. Another difference is: this doesn't appear under "Templates used on this page:". Rendered as <xyz> if MediaWiki:xyz doesn't exist. See also Help:System message.
{{msg:xyz}} Even if there is a magic word named "xyz", use template:xyz unless the template doesn't exist (equivalent to {{template:xyz}}). Normally, magic words have priority when there is a conflict.
{{msgnw:xyz}} The unexpanded wikitext is rendered (more or less, for details see msgnw).
{{raw:xyz}} [MW1.6+] Equivalent to {{msg:xyz}} above[1].
{{subst:xyz}} In the wikitext, the tag is substituted by the content (single-level evaluation only), see Help:Substitution.

Image modifiers

For details see w:en:Wikipedia:Extended image syntax.

These are image modifiers used in [[Image:title.ext|modifier|...|modifier]] links. Some are mutually exclusive, and then the last specified wins. The last unrecognized modifier is used as caption for framed images or together with thumbnails. It's also used as description alt=text.


Word Usage Explanation
[[Image:Mediawiki.png|framed]] Places an image in a frame with a description. Uses original size and stubbornly ignores width parameter if given.
In general, far better to use thumb, as is only suitable for small images.
border [[Image:Mediawiki.png|border]] Shows a 1px border around the image.
[[Image:Mediawiki.png|thumbnail]] Modifies image size, sets it dependent on user's favorite thumbnail size in one's preferences, or on the given width parameter (see below).
thumb=xyz [[Image:Mediawiki.png|thumb=Wiki.png]] Manualthumb: instead of displaying an automatically-sized thumbnail for Mediawiki.png, display the image Wiki.png.
width px
Scales image to given width  in pixels
Scales image to no more than 100 pixels wide and no more than 200 high, but image scaled to retain its true aspect ratio within the boundary specified.


For details see Help:Images and other uploaded files

The positions are mutually exclusive; the last specified wins. Template:- can stop floating. For inline images only modifier px (see above) is supported.

Word Usage Explanation
right [[Image:Mediawiki.png|right]] Modifies position, floats the image to the right.
left [[Image:Mediawiki.png|left]] Modifies position, floats the image to the left.
none [[Image:Mediawiki.png|none]] Explicitly states that the image should not float.
[[Image:Mediawiki.png|center]] Modifies position, like none but centered.


Word Example Explanation
{{DISPLAYTITLE:xyz}} [MW 1.7+] Set the page's title [8], enabled in Wikimedia projects since June 2007 ([9]). Also see $wgAllowDisplayTitle.

[MW1.7+] u+200E left to right or u+200D right to left mark
{{CONTENTLANGUAGE}} en [MW1.7+] code of the site's default interface language ($wgLanguageCode)
{{DEFAULTSORT:xyz}} {{DEFAULTSORT:xyz}} [MW1.10+] Sets a default category sort key for the whole current page (also applying for category tags before this tag)[2].
at top of source page
Creates a redirect to another page (to the target page).

Language-dependent word conversions

Word Example Explanation
{{ CURRENTMONTHNAMEGEN }} December Genitive form of month name used for Czech, Polish, Ukrainian[10]
{{grammar:case | word }} {{grammar:7sg|Wikipedie}}
on cs: is Wikipedií.
Derived word forms in inflected languages like Czech [11]
{{plural:count |form1 |form2 }}
{{plural:count |1st | 2nd | 3rd }}
{{plural: 2 | is | are }}
outputs are
{{plural: 1 | this | these }}
outputs this
{{plural: 0 | his | their }}
outputs their
count 1 yields form1 (singular), plural transformations are used for languages like Russian [12] based on "count mod 10".

"Grammar" and "Plural" are language-dependent functions, defined in [13], [14], etc. (note that in PHP, the modulo operator is the percent sign).

"Grammar" can either be applied to predefined words only, or to arbitrary words, depending on whether the definition is just a 2D array, or involves string manipulations. See also cs:Šablona:Wikivar/GRAMMAR.

"Plural" is a site-language-dependent switch function, controlled by function convertPlural in Language.php (which distinguishes between 1 and "not 1"), for some languages overridden in Languagexx.php, e.g. for French (which distinguishes between <=1 and >1) and Russian (oddly, first option is 1, 21, 31,.., 91, 101, 121, .., second is 2, 3, 4, 22, 23, 24, 31, 32, 33, 41,.., 94, 102, 103, 104,.., 122, 123,.., and else the third).

As opposed to ParserFunctions, "plural" accepts points and commas in numbers and interprets them in a site-language-specific way (depending on $separatorTransformTable in Messagesxx.php); on this site:

  • {{plural:1.000|a|b|c}} gives a
  • {{plural:1,000|a|b|c}} gives b

(on e.g. the German and the Dutch sites reversed w.r.t. the result on English sites).

"Plural" is used in various system messages, e.g. message with id 'nmembers' (talk), where it uses interface language instead of site language.

See also

Notes and references

  1. Wikimedia SVN revision 12925
  2. "Technology report", en-Wikipedia Signpost, January 2007

Links to other help pages

Help contents | search (all help pages)
Meta | Wikinews | Wikipedia | Wikiquote | Wiktionary | commons: | mw: | b: | s:
Go | Search | Stop words | URL | Namespace | Page name | Section
Backlinks | Link | Piped link | Interwiki link | Redirect | Category | Image page
Logging in and preferences
Logging in | Preferences | User style
Advanced editing | Editing FAQ | Edit toolbar | Export
Editing shortcuts
Tracking changes
Recent changes (enhanced) | Related changes | Watching pages | Diff
Page history | Edit summary | User contributions | Minor edit | Patrolled edit
Style & formatting
Wikitext examples | Reference card
HTML in wikitext | HTML elements
List | Table | Sorting
Mathematical symbols on English Wikipedia
Special input and output
Inputbox | Special characters | Displaying a formula | Images and other uploaded files | EasyTimeline
Advanced functioning
Template | Advanced templates | Parser function | ParserFunctions | Parameter default | Variable | Magic word | System message | Substitution
Array | Calculation
Page management
Starting a new page | Renaming (moving) a page | Maintenance | Merging and moving pages | Protecting pages
Resolving disputes | Deleting a page
Special pages
Talk page | Testing | Sandbox
Lists of resources
Lists of Categories | Copyrights | Infobox
Redirect | Reference Desk | Shortcuts | Stub types

Other languages: English (en) français (fr) 日本語 (ja) español (es) +/-