Memory Alpha
Memory Alpha
Help  Contents → Magic words

A "magic word" is a keyword or phrase recognized by the MediaWiki software which, when seen in the non-commented text of the page, triggers the software to do something special on that page. A magic word can be:

  • an upper case word, preceded and followed by two underlines "__", e.g. __NOTOC__
  • an XML object, coded similar to HTML, preceded by "<" and followed by ">", e.g. <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.

Behavior switches

For details see Section.

A behavior switch controls the layout or behavior of the page and can often be used to specify desired omissions and inclusions in the content.

Word Description
Table of Contents
__NOTOC__ Hides the table of contents on the current page.
__FORCETOC__ Forces the table of contents to appear at its normal position (above the first header).
__TOC__ Places a table of contents at the location where the magic word occurs (overriding any __NOTOC__).
__NOEDITSECTION__ Hides the edit links beside headings.
__NEWSECTIONLINK__ Adds a link ("+" by default) beside the "edit" tab for adding a new section on a non-talk page.
__NONEWSECTIONLINK__ Removes the link beside the "edit" tab on pages in talk namespaces.
__NOGALLERY__ Used on a category page; replaces thumbnails in the category view with normal links.
__HIDDENCAT__ Used on a category page; hides the category from the lists of categories in its members and parent categories (there is an option in the user preferences to show them).
__EXPECTUNUSEDCATEGORY__ Removes the category from Special: UnusedCategories, which is helpful for tracking categories which should not necessarily appear as "unused" even when they are empty.
Language conversion
Don't perform the content language conversion (character and phase) in article display; for example, only show Chinese (zh) instead of variants such as zh_cn, zh_tw, zh_sg, and zh_hk.
Like __NOCONTENTCONVERT__ but affecting article title only, i.e. don't perform language conversion on the title (all other content is converted).
__INDEX__ Tell search engines to index the page (overrides $wgArticleRobotPolicies, but not robots.txt).
__NOINDEX__ Tell search engines not to index the page (i.e., do not list in search engines' results).
__STATICREDIRECT__ On redirect pages, don't allow MediaWiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title".
__NOSHAREDHELP__ On help pages, don't include shared help from the corresponding Community Central page.

See also

  • {{TOCright}}, which floats the table of contents to the right


For details see Variable.

Variables return information about the current page, wiki, or date. Their syntax is similar to templates. If a template name conflicts with a variable, the variable will be used (so to transclude the template Template:PAGENAME you would need to write {{Template:PAGENAME}}). In some cases, adding parameters will force the parser to treat a variable as a template; for example, {{CURRENTDAYNAME|x}} transcludes Template:CURRENTDAYNAME.

Variables highlighted in orange are considered 'expensive', and the number that can be included on a page is limited.

Date and time

The following variables return the current date and time according to the user's timezone preferences, defaulting to the UTC timezone.

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 Description
{{CURRENTYEAR}} 2022 The current year.
{{CURRENTCENTURY}} 21 The current century.
{{CURRENTMONTH}} 07 The number of the month, zero-padded.
{{CURRENTMONTH1}} 7 The number of the month, unpadded.
{{CURRENTMONTHNAME}} July Same as {{CURRENTMONTH}}, but in named form January .. December.
{{CURRENTMONTHNAMEGEN}} July Genitive form of the month name; used for Czech, Polish, Ukrainian, etc. [1]
{{CURRENTMONTHABBREV}} Jul Same as {{CURRENTMONTH}}, but in abbreviated form as Jan .. Dec.
{{CURRENTDAY}} 6 Displays the current day in numeric form.
{{CURRENTDAY2}} 06 Same as {{CURRENTDAY}}, but with leading zero (01 .. 31).
{{CURRENTDAYNAME}} Wednesday Name of the day in the language of the project or English.
{{CURRENTDOW}} 3 Same as {{CURRENTDAYNAME}}, but as a number (0=Sunday, 1=Monday...).
{{CURRENTTIME}} 02:00 The current time (00:00 .. 23:59).
{{CURRENTHOUR}} 02 The current hour (00 .. 23).
{{CURRENTMINUTE}} -0 The current minute (00 .. 59).
{{CURRENTWEEK}} 27 Number of the current week (1-53) according to ISO 8601 with no leading zero.
{{CURRENTTIMESTAMP}} 20220706020020 ISO 8601 time stamp.

Local date and time

The time depending on the local timezone of the wiki (not depending on the timezone in the user's preference settings).

Word Example Description
{{LOCALYEAR}} 2022 The local year.
{{LOCALMONTH}} 07 The number 01 .. 12 of the month (i.e. zero-padded).
{{LOCALMONTH1}} 7 The number 1 .. 12 of the month (i.e. unpadded).
{{LOCALMONTHNAME}} July Same as {{LOCALMONTH}}, but in named form as January .. December.
{{LOCALMONTHABBREV}} Jul Same as {{LOCALMONTH}}, but in abbreviated form as Jan .. Dec.
{{LOCALDAY}} 6 Displays the local day of the month in numeric form.
{{LOCALDAY2}} 06 Same as {{LOCALDAY}}, but with a leading zero (01 .. 31).
{{LOCALDAYNAME}} Wednesday Name of the day in the language of the project or English.
{{LOCALDOW}} 3 Same as {{LOCALDAYNAME}}, but as a number (0=Sunday, 1=Monday...).
{{LOCALTIME}} 02:00 The local time (00:00 .. 23:59).
{{LOCALHOUR}} 02 The local hour (00 .. 23).
{{LOCALWEEK}} 27 Number of the local week (1-53) according to ISO 8601 with no leading zero.
{{LOCALTIMESTAMP}} 20220706020020 ISO 8601 time stamp.

Technical metadata

Variable Example Description
{{SITENAME}} Memory Alpha The name of the site ($wgSitename).
{{SERVER}} The base URL of the server ($wgServer).
{{SERVERNAME}} The name of the server without the protocol ($wgServerName).

Outputs a unicode-directional mark that matches the wiki's default language's direction (&lrm; on left-to-right wikis, &rlm; on right-to-left wikis), useful in text with multi-directional text.
{{SCRIPTPATH}} The relative script path ($wgScriptPath).
{{STYLEPATH}} /skins-ucp/v2 The relative style path ($wgStylePath).
{{CURRENTVERSION}} 1.37.3 Returns the current version of the base MediaWiki software installed on the Memory Alpha server. [2]
Code of the default interface language ($wgLanguageCode).
{{PROTECTIONLEVEL:action}} Outputs the protection level (e.g. 'autoconfirmed', 'sysop') for a given action (e.g. 'edit', 'move') on the current page or an empty string if not protected.
Latest revision to current page
{{REVISIONID}} - The unique identifying number of a page, used in comparing two versions of the same page, as when viewing the page history. Note that when editing a page, this value is null.
{{REVISIONDAY}} 27 The day on which the page was last modified.
{{REVISIONDAY2}} 27 The day on which the page was last modified, but with a leading zero (01 .. 31).
{{REVISIONMONTH}} 04 The month in which the page was last modified (zero-padded).
{{REVISIONMONTH1}} 4 The month in which the page was last modified (unpadded).
{{REVISIONYEAR}} 2022 The year in which the page was last modified.
{{REVISIONTIMESTAMP}} 20220427181525 ISO 8601 time stamp, indicating when the page was last modified.
{{REVISIONUSER}} Renegade54 The username of the user who made the most recent edit to the page, or the current user when previewing an edit.
Returns the byte size of the specified page. Use "|R" to get raw numbers.
Affects page content
{{DISPLAYTITLE:title}} {{DISPLAYTITLE:iTunes}} Sets the page's title to title.
{{DEFAULTSORT:Kim, Harry}} Sets a default category sort key for the whole current page (i.e. also applies to category tags before this magic word).[1] It can take a second argument of noerror or noreplace to suppress error messages when multiple defaultsortkeys are used on one page or to make this defaultsort do nothing if a defaultsort was already specified earlier in the page.


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

Variable Example Description
Entire wiki
Returns the total number of pages on Memory Alpha. [3]
Returns the total number of articles on Memory Alpha.
Returns the number of files uploaded to Memory Alpha (rows in the image table).
Returns the total number of page edits since MediaWiki, the software that runs Memory Alpha, was installed.
Returns the number of registered users (rows in the user table).
Returns the number users in the sysop group on Memory Alpha.
Number of active users on Memory Alpha, based on the criteria used in Special:Statistics.
{{PAGESINCATEGORY:Planets}} = 1,059
{{PAGESINCAT:Planets}} = 1,059
Number of pages in the given category.
{{NUMBERINGROUP:bureaucrat}} = 1
{{NUMINGROUP:bureaucrat}} = 1
Number of users in a specific group.


Variable Example Description
MA Help
Name of the namespace the current page resides in.
MA Help talk
Name of next odd namespace (e.g. 4 → 5)
MA Help
Name of last even namespace (e.g. 5 → 4)
MA Help
An alias for SUBJECTSPACE(E)

Page names

Variable Example Description
Magic words
Name of the current page, including all levels (Title/Subtitle).
Magic words
The base name of a subpage ("Title/Other" on "Title/Other/Subtitle").
Magic words
Name of the current page, excluding parent pages ("Subtitle" on "Title/Other/Subtitle") in namespaces supporting subpages.
MA Help:Magic words
MA Help:Magic words
MA Help:Magic words
MA Help talk:Magic words

Parser functions

For details see Meta: Parser function.


Variable Example Description
{{localurl:x y @}} = /wiki/X_y_@
{{localurl:a|b=c}} = /wiki/A?b=c
The local URL of a page (might not exist). Optional query parameter, see Variable.
{{fullurl:x y @}} =
{{fullurl:x y @|a=b}} =
{{fullurl:m:x y @|b=c}} =
The full URL of a given page. Optional query parameter as for localurl: This will also resolve Interwiki prefixes..
{{canonicalurl:x y @}} =
{{canonicalurl:x y @|a=b}} =
{{canonicalurl:m:x y @|b=c}} =
The absolute path to the title, using the canonical url. This will also resolve Interwiki prefixes.
The absolute URL to a media file.
{{urlencode:x y @}} = x+y+%40
{{urlencode:x y @|QUERY}} = x+y+%40
{{urlencode:x y @|WIKI}} = x_y_@
{{urlencode:x y @|PATH}} = x%20y%20%40
Encodes variable values for use in external links. [4]
{{anchorencode:string}} {{anchorencode:x #y @}} = x_#y_@ Encodes variable values for use in section anchors. [5]


{{ns:}} returns the localized name for the namespace with that index.

{{nse:}} is the equivalent encoded for MediaWiki URLs. It does the same, but it replaces spaces with underscores, making it usable in external links.

Content namespaces Talk namespaces
Usage Output Usage Output
{{ns:-2}} or {{ns:Media}} Media {{ns:-1}} or {{ns:Special}} Special
{{ns:0}} {{ns:1}} or {{ns:Talk}} Talk
{{ns:2}} or {{ns:User}} User {{ns:3}} or {{ns:User talk}} User talk
{{ns:4}} or {{ns:Project}} Memory Alpha {{ns:5}} or {{ns:Project talk}} Memory Alpha talk
{{ns:6}} or {{ns:File}} or {{ns:Image}} File {{ns:7}} or {{ns:File talk}} or {{ns:Image talk}} File talk
{{ns:8}} or {{ns:MediaWiki}} MediaWiki {{ns:9}} or {{ns:MediaWiki talk}} MediaWiki talk
{{ns:10}} or {{ns:Template}} Template {{ns:11}} or {{ns:Template talk}} Template talk
{{ns:12}} or {{ns:Help}} Help Deprecated {{ns:13}} or {{ns:Help talk}} Help talk Deprecated
{{ns:14}} or {{ns:Category}} Category {{ns:15}} or {{ns:Category talk}} Category talk
{{ns:102}} or {{ns:Portal}} Portal {{ns:103}} or {{ns:Portal talk}} Portal talk
{{ns:110}} or {{ns:Forum}} Forum {{ns:111}} or {{ns:Forum talk}} Forum talk
{{ns:112}} or {{ns:MA Help}} MA Help {{ns:113}} or {{ns:MA Help talk}} MA Help talk
{{ns:828}} or {{ns:Module}} Module {{ns:829}} or {{ns:Module talk}} Module talk
{{ns:2900}} or {{ns:Map}} Map {{ns:2901}} or {{ns:Map talk}} Map talk


Word Example Description
{{lc:string}} {{lc:AbC dEf}} = abc def Lowercases all characters of a string.
{{lcfirst:string}} {{lcfirst:Ab Cd}} = ab Cd Lowercases the first character of a string.
{{uc:string}} {{uc:aBc DeF}} = ABC DEF Uppercases all characters of a string.
{{ucfirst:string}} {{ucfirst:aB cD}} = AB cD Uppercases the first character of a string.
{{formatnum:unformatted number}}

{{formatnum:formatted number|R}}
   = 987,654,321.654321
   = 987654321.654321
Adds or removes decimal separators to a number. Leading plus or minus is recognized.




{{#dateformat:25 deC 2009|ymd}}
   = 2009 December 25
{{#formatdate:dec 25,2009|dmy}}
   = 25 December 2009
   = December 25, 2009
{{#formatdate:2009 dec 25|ISO 8601}}
   = 2009-12-25
{{#dateformat:25 decEmber|mdy}}
   = December 25

Formats an unlinked date based on user "date format" preference, and adds metadata tagging it as a formatted date. For logged-out users and those who have not set a date format in their preferences, dates can be given a default: mdy, dmy, ymd, ISO 8601 (all case sensitive). If only the month and day are given, only mdy and dmy are valid. If a format is not specified or is invalid, the input format is used as a default. If the supplied date is not recognized as a valid date (specifically, if it contains any metadata such as from a nested use of these or similar templates), it is rendered unchanged, and no (additional) metadata is generated.
{{padleft:string | length}}
{{padleft:string | length | padchar}}
{{padright:string | length}}
{{padright:string | length | padchar}}

{{padleft:7 | 3}} = 007
{{padleft:0 | 3}} = 000
{{padleft:bcd | 6 | a}} = aaabcd
{{padright:bcd | 6 | a}} = bcdaaa
{{padleft:café | 8 | -}} = ----café
{{padleft:cafe | 8 | -}} = ----cafe
{{padleft:bcd | 6 | {{!}}}} = |||bcd

Pads a string with a character to the specified width; the default character is 0.

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.


Word Example Description
{{plural:count|form1|form2}} {{plural: 2 | is | are}} = are
{{plural: 0 | this | these}} = these
count 1 yields form1 (singular), all other values for count yield form2 (plural); plural transformations are used for languages like Russian [6] based on "count mod 10".
{{grammar:case|word}} {{grammar:7sg|Wikipedie}} on cs: is Wikipedií Derived word forms in inflected languages like Czech. [7]
|return text if user is male
|return text if user is female
|return text if user hasn't defined their gender}}
(depends on the named user's gender) A switch for the gender set in Special:Preferences.
Note: If 3rd parameter is omitted and user hasn't defined his/her gender, then text if user is male is returned.
A blank username field ({{gender:|) means the current user.
A dot username (.) means the default user gender on this wiki.
  • "Plural" and "Grammar" are language-dependent functions, defined in [8], [9], 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 Wikipedia:cs:Šablona:Wikivar/GRAMMAR.


Usage Output Description
{{int:message_name}} {{int:edit}} = Edit Internationalizes (translates) the given interface (MediaWiki namespace) message into the user language; rendered as ⧼xyz⧽ if MediaWiki:xyz doesn't exist. See also System messages.
{{#language:language_code}} {{#language:da}} = dansk Native name of language code.
{{#special:special_pagename}} {{#special:RecentChanges}} = Special:RecentChanges
{{#special:userlogin}} = Special:UserLogin
The localized name for the given canonical Special: page.
{{#tag:tagname}} {{#tag:myextension | attr=val | attr2=val2 | content}} = <myextension attr=val attr2=val2>content</myextension> Passes attributes and inner content to an XML-style parser tag, parsing template variables along the way. See Extension:TagParser.
{{: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.
{{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 unevaluated wikitext is rendered. See msgnw.
{{raw:xyz}} Equivalent to {{msg:xyz}} above.[2]
{{subst:xyz}} In the wikitext, the tag is substituted by the content (single-level evaluation only); see Substitution.

Image modifiers

For details see Wikipedia: Extended image syntax.

These are image modifiers used in [[File:title.ext|modifier|...|modifier]] links. Some are mutually exclusive, and then the last specified wins.


The last unrecognized modifier is used as a caption for framed images or together with thumbnails. It's also used as a description, i.e. alt=text.

Word Usage Description
[[File:Mediawiki.png|framed]] Places an image in a frame with a description. Uses original image size.
border [[File:Mediawiki.png|border]] Displays a 1px border around the image.
[[File:Mediawiki.png|thumbnail]] Modifies image size, sets it to dependent on user's favorite thumbnail size in their preferences.
thumb=xyz [[File:Mediawiki.png|thumb=Wiki.png]] Manualthumb: instead of displaying an automatically-sized thumbnail for Mediawiki.png, displays the image Wiki.png.
width px
n1xn2 px
Scales image to given width in pixels.
Scales image to no more than n1 pixels wide and no more than n2 high, but image scaled to retain its true aspect ratio within the boundary specified.


For details see Meta: Images and other uploaded files.

The positions are mutually exclusive; the last specified wins. {{clear}} can stop floating. For inline images, only the modifier px (see above) is supported.

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


Word Example Description
#redirect #redirect [[target]]
at top of source page
Creates a redirect to another page.

See also


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