Magic words (including parser functions, variables and behavior switches) are features of wiki markup that give instructions to Wikipedia's underlying MediaWiki software. For example, magic words can suppress or position the table of contents, disable indexing by external search engines, and produce output dynamically based on the current page or on user-defined conditional logic. Some of these features are especially useful for templates.
This page is a quick reference for magic words. For more information, refer to the main MediaWiki documentation:
mw:Help:Magic words: All standard magic words, including the "standard" parser functions.
Behavior switches: often appear in double underscores, all uppercase, e.g., __NOTOC__. They will change the behavior of a page, rather than return a value.
Parser functions: all in lowercase. A parser function will be followed by colon and pipe-separated parameters, e.g., {{#ifexpr:Y|Yes|No}}, wrapped in double braces. They will take a value and return a value.
Variables: these are all uppercase, e.g., {{PAGENAME}}. A variable will be wrapped in double braces and will return a value in its place.
The software generally interprets magic words in the following way:
White space is generously allowed for readability. It will be stripped from the start and end of their keywords and parameters (as is also done in template calls using named parameters).
They can be transcluded, even variables "about the current page". This is ensured by the parsing order.
Instead of magically transforming into HTML instructions, <nowiki> tags remove this magic so a magic word can itself be displayed (documented), e.g. <nowiki>{{#magic:}}</nowiki>or {{#magic:<nowiki/>}}.
The names of magic words are purposely chosen to be unlike the names of templates, and vice versa. Many parser function names will begin with a #(pound or hash), but template names will not start with a #, and probably not end in a :(colon), or be all-uppercase.
The first parameter's syntax differs. In {{#magic: p1 | p2 | p3}}, the name is #magicand it is followed by an unspaced :and a required input parameter, p1. With a template, p1is optional and it is preceded by a |(pipe) instead of a :, e.g. {{template|p1}}.
Forces the TOC to appear in its default position, even when there are fewer than four headings. Can be used anywhere on a page.
__NOTOC__
Suppresses the appearance of the page's TOC. Can be used anywhere on a page.
__NOEDITSECTION__
Hides the "edit" links normally beside all headings on the page. To hide the edit link beside a particular heading, specify the heading using e.g. an HTML tag such as <h2>heading</h2> rather than with the usual wiki equals-signs syntax (e.g. == heading == ).
__NEWSECTIONLINK__
On non-talk pages, adds a "ਵਿਸ਼ਾ ਜੋੜੋ" link as a means to add a new section to the page.
__NONEWSECTIONLINK__
Removes the "ਵਿਸ਼ਾ ਜੋੜੋ" link (the add-new-section link) on talk pages.
__NOGALLERY__
Replaces thumbnails on a category page with normal links.
__HIDDENCAT__
Makes a category hidden when included on that category's page.
Prevents the link on a redirection page from being updated automatically when the page to which it redirects is moved (and "Update any redirects that point to the original title" is selected).
(equivalent to {{NOEXTERNALLANGLINKS|*}} ) Suppresses the automated inclusion of Wikidatainterlanguage links on the lefthand side of the page. Links to particular rather than all languages may be suppressed by using {{NOEXTERNALLANGLINKS|list}}, where list a pipe-delimited list of language codes (e.g. {{NOEXTERNALLANGLINKS|fr|es|ja}} to suppress the French ("fr"), Spanish ("es") and Japanese ("ja") interlanguage links).
Adding an E to the end of the above variables, renders the above encoded for use in MediaWiki URLs (i.e. with underscores replacing spaces).
{{SHORTDESC}}
Only works on the English Wikipedia, where it displays a short description below the article title on mobile platforms. Error: no text specified (help).
Note: The magic words above can also take a parameter, in order to parse values on a page other than the current page. A colon (:) is used to pass the parameter, rather than a pipe (|) that is used in templates, like {{MAGICWORD:value}}. For example, {{TALKPAGENAME:Wikipedia:MOS}} returns Wikipedia talk:MOS on any page.
Note: In the "Category" and "Category talk" namespaces, to wikilink (some) page name variables may require prefixing a colon to avoid unwanted categorization.
↑ 1.01.11.21.31.41.5{{CURRENTDAY}}, {{LOCALDAY}}and {{REVISIONDAY}}return the day (i.e. "6"), whilst {{CURRENTDAY2}}, {{LOCALDAY2}}and {{REVISIONDAY2}}return the day with zero-padding (i.e. "06"). For all two-digit days (i.e. 10 to 31), these are the same.
↑This shows the last user to edit the page. There is no way to show the user viewing the page with magic words due to technical restrictions.
Number of pages in the category named categoryname. Each subcategory is counted as one item.
{{NUMBERINGROUP:groupname}}
Number of users in the user group named groupname.
Page IDs can be associated with articles via wikilinks (i.e. Special:Redirect/page/3235121goes to this page).
To output numbers without comma separators (for example, as "123456789" rather than "123,456,789"), append the parameter |R.
Adds comma separators to an unformatted_number (e.g. 123456789 becomes 12,34,56,789). To remove such formatting, use {{formatnum:formatted_number|R}}(i.e. {{formatnum:7,654,321|R}}, for example, produces 7654321).
Formats a date according to user preferences; a default can be given as an optional case-sensitive second parameter for users without date preference; can convert a date from an existing format to any of dmy, mdy, ymd, or ISO 8601formats, with the user's preference overriding the specified format.
Pad with zeroes '0' to the right or left, to fill the given length; an alternative padding string can be given as a third parameter; the repeated padding string (padstr) will be truncated if its length does not evenly divide the required number of characters.
Used to format dates and times, for ISO format, dots or English month names. #timelis based on local time as defined for each wiki; for English Wikipedia, this is identical to #time. The optional 3rd parameter is the output language code (French, German, Swedish: fr, de, sv, etc.). Example Finnish: {{#time:d F Y|June 30, 2016|fi}}shows: 30 kesäkuu 2016 (June). ISO to German: {{#time:d. M Y|1987-10-31|de}}shows: 31. Okt. 1987. For format codes, see: mw:Help:Extension:ParserFunctions##time. Use the format {{#time: H:i, j F Y (e)|...}}to match the format used by timestamps in signatures.
{{gender:user|m_out|f_out|u_out}}
Outputs m_out, f_out or u_out according to whether the gender specified in user 's preferences is, respectively, male, female or unspecified. Other parameter permutations are available, see mw:Help:Magic words#gender and translatewiki:Gender.
Only way to evaluate magic words inside a tag, in order to generate <tag>magic</tag>. Also handles tag attributes.
Paths
Function
Description
{{localurl:fullpagename |query}}
Relative path to page name. The query parameter is optional.
{{fullurl:fullpagename |query}}
Absolute path, without protocol prefix (i.e. without " http: " etc.), to page name. The query parameter is optional.
{{canonicalurl:fullpagename |query}}
Absolute path, including protocol prefix, to page name. The query parameter is optional.
{{filepath:filename}}
Absolute path to the media file filename.
{{urlencode:string}}
Encodesstring for use in URL query strings; {{urlencode:test string}}, for example, produces: test+string. To encode string for use in URL paths or MediaWiki page names, append, respectively, |PATH or |WIKI (to produce "test%20string" or "test_string").
Outputs r1 if string is c1, r2 if string is c2, etc., otherwise outputs default (if provided).
If, in these conditional functions, empty unnamed parameters are to be parsed as empty rather than as text (i.e. as empty rather than as the text "{{{1}}}", "{{{2}}}", etc.), they will require trailing pipes (i.e. {{{1|}}}, {{{2|}}}, etc., rather than {{{1}}}, {{{2}}}, etc.).
Used to include a pipe character as part of a template argument or table cell contents. Before this was added as a magic word, many wikis implemented this by creating Template:! with | as the content.
Used to include an equal sign as part of a template argument or table cell contents. Before this was added as a magic word, many wikis implemented this by creating Template:= with = as the content.