prefix- +‎ base +‎ -suffix

This template shows the parts (morphemes) that make up a word, for use in etymology sections. Although it is called affix, it can be used for compounds too, like {{compound}}. It uses Module:compound and Module:compound/templates as a back-end.

To create the category pages, such as Category:English words suffixed with -ed, add {{auto cat}} to the page.


{{affix|en|complete|-ness}}complete +‎ -ness
{{affix|en|pre-|date}}pre- +‎ date
{{affix|en|acro-|-nym}}acro- +‎ -nym
{{affix|en|pest|-i-|-cide}}pest +‎ -i- +‎ -cide
{{affix|en|volley|ball}}volley +‎ ball


The language code. See Wiktionary:Languages.
The script code. See Wiktionary:Scripts. This is rarely needed as the script can generally be automatically detected.
|2=, |3= etc.
The parts of the words to show. Either:
  1. At least one of the provided parts must begin and/or end with a hyphen (prefix, suffix, interfix);
  2. or there must be two or more parts (it may be a compound, with or without prefixes, suffixes, interfixes).
The part of speech to include in the category names, in plural form. Defaults to words.
The sort key to use when placing the entry in categories. This is rarely needed, as the default generated sort key is usually correct.
Do not add categories to the entry.
Type of compound, e.g. bahuvrihi or alliterative. See #Compound subtypes below. If this parameter is given, extra text is generated before the listed parts (e.g. Bahuvrīhi compound of FOO + BAR), and the page is placed in an additional category (e.g. Category:Hindi bahuvrihi compounds).
Do not capitalize the first letter of the extra text generated by |type=.
When |type= is used, do not generate the extra text that is normally placed before the listed parts. The page will still be placed in the additional type-specific category unless |nocat=1 is given.

The following parameters are available for each matching part in the numbered/positional parameters. The N must be replaced by the corresponding part index. For example, for the second part (positional parameter 3), use 2 for N. Most of these parameters correspond directly to the equivalent parameters in the standard {{l}} (and {{m}}) template.

The alternative display form. Equivalent to the third parameter of {{l}}.
A gloss to show after the part. Equivalent to the fourth parameter of {{l}}. The parameter |glossN= is deprecated for this purpose.
The transliteration, as in {{l}}.
The transcription, in languages where the transliteration and transcription differ markedly, as in {{l}}.
The gender (multiple comma-separated genders may be specified for a given part).
The sense id, as in {{l}}. As distinguished by mere linking templates, the affix template, categorizing terms by affix, also adds the sense id to the category name to distinguish various purposes of the same affix shape, hence the sense id in the dictionary entry for the affix should have a reasonable name in respect to this categorization. Changes the category name from language name terms affixed with affix to language name terms affixed with affix (value of id parameter).
The part of speech label to show after the part, as in {{l}}. If this parameter contains patronym(ic), the entry will be added to a language's patronymic category. If this parameter contains diminutive and the |pos= parameter is defined, the entry will be added to a diminutive part-of-speech category. For instance, the parameter values |pos=noun and |pos2=diminutive suffix will add an entry to the language's diminutive nouns category.
The literal meaning to show after the part, as in {{l}}.
Qualifier text to display after the part, in parens and normally italicized.
The language code to use for this particular part. This overrides the default provided by |1=. When this is provided, the language name is displayed before the part, and a derivational category is also added to the entry. This is used for the occasional term which was directly affixed at the time of borrowing, and for which no native base form existed at the time, such as vexillology.
The script code to use for this particular part. This overrides the default provided by |sc=.


The template will automatically categorize the entry based on the types of affixes it sees.

  • If a part begins with a hyphen, it is a suffix.
  • If a part ends with a hyphen, it's a prefix.
  • If a part has a hyphen at both ends, it's an interfix.

This behavior can be disabled by prefixing an entry with ^. This should be used, for example, for Proto-Indo-European roots, which are conventionally written with a trailing hyphen but aren't prefixes.

What is considered a hyphen depends on the specified language, so it can also support language-specific types of hyphen. In particular, the Hebrew and Arabic scripts have their own hyphen script-specific character (which has the correct right-to-left behavior).

Some languages (e.g. most East Asian languages) don't use hyphens with affixes. For these languages, you should still add a regular hyphen (-) to the affix as appropriate, but the term will be displayed and linked without a hyphen.

Compound subtypes

The |type= parameter can be used to specify the subtype of compound when {{affix}} is used to specify the parts of a compound. For example, if |type=bahuvrihi is given (or |type=bahu or |type=bv), extra text Bahuvrīhi compound of is generated before the listed parts (where the word bahuvrīhi links appropriately to the appendix, with an explanation of what this term means). In addition, the page is placed in a type-specific category, e.g. Category:Hindi bahuvrihi compounds if the language in question is Hindi (code hi).

The parameter |nocap=1 can be used to disable capitalization of the first letter of the extra text generated, and |notext=1 can be used to suppress the extra text entirely. Using |type= along with |notext= is still useful because of the extra type-specific category that the page is placed in. It's also possible to use |type= without any parts, e.g. {{affix|hi|type=bahuvrihi}}. This generates just the extra text (without the word of after it), and places the page in the type-specific category.

The following types are currently supported:

Type Aliases Category
alliterative allit LANG alliterative compounds
antonymous ant LANG antonymous compounds
bahuvrihi bahu, bv LANG bahuvrihi compounds
coordinative coord LANG coordinative compounds
descriptive desc LANG descriptive compounds
determinative det LANG determinative compounds
dvandva dva LANG dvandva compounds
endocentric endo LANG endocentric compounds
exocentric exo LANG exocentric compounds
karmadharaya karma, kd LANG karmadharaya compounds
rhyming rhy LANG rhyming compounds
synonymous syn LANG synonymous compounds
tatpurusa tat, tp LANG tatpurusa compounds


  • There is no support for circumfixes.
  • If an entry both begins and ends with a hyphen, it is considered an interfix, not an infix. There is currently no support for infixes as such.

See also

Template Data






language code1 lang

the 2- or 3-letter language code for the current section

first part2

the first part of the affixed word

second part3

the second part of the affixed word

script codesc


first part of speechpos1


second part of speechpos2


first part alternate textalt1

Text to show instead of the first part for the link to its entry

second part alternate textalt2

Text to show instead of the second part for the link to its entry

first glosst1

brief gloss of the first part

second glosst2

brief gloss of the second part

first part transliterationtr1

Transliteration of the first part (for non-Latin scripts)

second part transliterationtr2

Transliteration of the second part (for non-Latin scripts)