Template:Convert

From MoparWiki
Jump to: navigation, search

Template:Documentation subpage Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Contents

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other (km entered, so converted into mile)

{{convert|7|mi|km}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

{{convert|7|mi|km|2|abbr=on}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

{{convert|2|-|5|km|mi}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Using Template:Para is the reverse behaviour to the default:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

To abbreviate both or neither:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other distance. Default behaviour, for comparison:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other to go.

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template:Documentation subpage Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|123|ft|m}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other || same output as with 0 (below)

{{convert|123|ft|m|0}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|123|ft|m|1}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|123|ft|m|2}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.

{{convert|500|ft|m|-1}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|500|ft|m}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other || same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)

{{convert|500|ft|m|0}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|500|ft|m|1}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|500|ft|m|2}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other || exact value is 152.4 m

{{convert|500|ft|cm|-3}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

{{convert|500|ft|cm}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other || same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)

{{convert|500|ft|cm|0}} Template:Documentation subpage

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other ||

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Template:Hatnote {{#ifeq:Template:Convert|Template:Convert|Template:High-risk}} Template:Transwiki guide Template:Lua Template Template:Tl calculates from one measurement unit to another one, and then presents the results formatted. The complete list of unit symbols recognized by the template is at Module:Convert/documentation/conversion data.

For example:

{{convert|2|km|mi}}Template loop detected: Template:Convert (km entered, so converted into mile)
{{convert|7|mi|km}}Template loop detected: Template:Convert (mi entered, so converted into km)

Numbers can be rounded, units can be abbreviated into symbols:

{{convert|2|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|7|mi|km|2|abbr=on}}Template loop detected: Template:Convert

Value ranges can be entered using |to|... or |-|...:

{{convert|2|to|5|km|mi}}Template loop detected: Template:Convert
{{convert|2|-|5|km|mi}}Template loop detected: Template:Convert

Combined effect example:

{{convert|2|-|5|km|mi|2|abbr=on}}Template loop detected: Template:Convert
{{convert|2|and|5|km|mi|sigfig=3|abbr=off}}Template loop detected: Template:Convert

Template:Hatnote

Units to convert

Template:Hatnote Enter units to convert from into:

SI units generally accept prefixes, like "m" for milli (10−3), and "M" for mega (106)
For "per" units, use "/" (slash): kg/ha
For three-unit units, etc., see Template:Cl

Unit name or symbol (abbreviation): 1 pound or 1 lb?

By default, the first quantity shows the unit name, the second shows the symbol (or abbreviation):

Using Template:Para is the reverse behaviour to the default:

To abbreviate both or neither:

Convenience: Template:Tlf has Template:Para by default

Template Template:Tl is the same as Template:Tlf, except that it has Template:Para as the default behaviour. In Template:Tlf, all other options are available. So:

{{cvt|1|lb|kg}}Template:Cvt

is equivalent to:

{{convert|1|lb|kg|abbr=on}}Template:Cvt

Adjective: a 10-mile distance

Use Template:Para to produce the adjectival (hyphenated) form:

  • A {{convert|10|mi|km|adj=on}} distance → A Template loop detected: Template:Convert distance.

Default behaviour, for comparison:

Template:Para does not produce hyphens with unit symbols, as per Manual of Style:

  • A {{convert|9|in|cm|adj=on|abbr=on}} nail → A Template loop detected: Template:Convert nail.

Template:AnchorRounding: 100 ft is 30 m or 30.5 m or 30.48 m?

Template:Hatnote By definition, 100 ft equals Template loop detected: Template:Convert. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.

Default rounding

By Template:Tlf default, the conversion result will be rounded either to precision comparable to that of the input value (the number of digits after the decimal point—or the negative of the number of non-significant zeroes before the point—is increased by one if the conversion is a multiplication by a number between 0.02 and 0.2, remains the same if the factor is between 0.2 and 2, is decreased by 1 if it is between 2 and 20, and so on) or to two significant digits, whichever is more precise. An exception to this is rounding temperatures (see below).

Examples of rounding
Input Displays as Note
{{convert|123|ft|m|-1}} Template loop detected: Template:Convert
{{convert|123|ft|m}} Template loop detected: Template:Convert same output as with 0 (below)
{{convert|123|ft|m|0}} Template loop detected: Template:Convert
{{convert|123|ft|m|1}} Template loop detected: Template:Convert
{{convert|123|ft|m|2}} Template loop detected: Template:Convert The more-exact value is 37.4904 m or so, which gets converted to 37 m if this parameter is not specified at all.
{{convert|500|ft|m|-1}} Template loop detected: Template:Convert
{{convert|500|ft|m}} Template loop detected: Template:Convert same output as with −1 (above), because the conversion factor is between 0.2 and 2 (hence, it should produce same double-zero precision (−2) as in the input value), but the conversion must produce two significant digits at a minimum (hence, a higher single-zero precision (−1) is used)
{{convert|500|ft|m|0}} Template loop detected: Template:Convert
{{convert|500|ft|m|1}} Template loop detected: Template:Convert
{{convert|500|ft|m|2}} Template loop detected: Template:Convert exact value is 152.4 m
{{convert|500|ft|cm|-3}} Template loop detected: Template:Convert
{{convert|500|ft|cm}} Template loop detected: Template:Convert same output as with −3 (above), because the conversion factor is between 20 and 200 (hence, it should decrease input value's double-zero precision (−2) by 2), but the conversion must produce two significant digits at a minimum (hence, a higher triple-zero precision (−3) is used)
{{convert|500|ft|cm|0}} Template loop detected: Template:Convert

Convert supports four types of rounding:

Round to a given precision: use a precision number

Specify the desired precision with the fourth unnamed parameter (or third unnamed parameter if the "convert to" parameter is omitted; or fifth unnamed parameter if a range is specified; or fourth unnamed parameter again if a range is specified and the "convert to" parameter is omitted; needs to be replaced with a "precision" named parameter). The conversion is rounded off to the nearest multiple of Template:Frac to the power of this number. For instance, if the result is 8621 and the round number is "-2", the result will be 8600. If the result is "234.0283043" and the round number is "0", the result will be 234.

Template:Anchor

Round to a given number of significant figures: Template:Para

To specify the output number to be with n significant figures use Template:Para:

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

  • {{convert|10 x 200 x 3000|m|ft}}Template loop detected: Template:Convert
  • {{convert|10 x 200 x 3000|m|ft|round=each}}Template loop detected: Template:Convert

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template loop detected: Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template loop detected: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template loop detected: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template loop detected: Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

  • {{convert|380|x|1040|mm|ftin|order=flip}}Template loop detected: Template:Convert

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template loop detected: Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template loop detected: Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

  • {{convert|10|mi|m|spell=on|abbr=off|sp=us}}Template loop detected: Template:Convert

Inserted before units: 4 planted acres

  • {{convert|4|acre||adj=pre|planted}}Template loop detected: Template:Convert

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

  • {{convert|4|acre||disp=preunit|planted }}Template loop detected: Template:Convert
  • {{convert|4|acre||disp=preunit|planted |reforested-}}Template loop detected: Template:Convert

After adjective unit: A Template loop detected: Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template loop detected: Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

  • {{convert|1/8|imppt|ml|spell=in|adj=pre|of an}}Template loop detected: Template:Convert

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

  • {{convert|100|e6mi|e6km|abbr=unit}}Template loop detected: Template:Convert
  • {{convert|100|e6mi|e6km|abbr=off}}Template loop detected: Template:Convert

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

  • {{convert|12.3e-15|atm|atm|abbr=on}}Template loop detected: Template:Convert
  • {{convert|0.00000005|atm|atm|abbr=on}}Template loop detected: Template:Convert

Input with fractions: Template loop detected: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template loop detected: Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template loop detected: Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

  • {{convert|1234567|m|ft|comma=gaps}}Template loop detected: Template:Convert

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x|…:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template loop detected: Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template loop detected: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

  • {{convert|10|km|mi nmi|order=flip}}Template loop detected: Template:Convert
  • {{convert|10|km|nmi mi|order=flip}}Template loop detected: Template:Convert

Fixed ordering of output units: Template loop detected: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

  • {{convert|100|C|F C K|abbr=on|order=out}}Template loop detected: Template:Convert
  • {{convert|200|PS|kW hp|0|abbr=on|order=out}}Template loop detected: Template:Convert

See also: § Displaying parts of the output.

Displaying parts of the result: Template loop detected: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template loop detected: Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template loop detected: Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template loop detected: Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template loop detected: Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template loop detected: Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template loop detected: Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template loop detected: Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template loop detected: Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template loop detected: Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template loop detected: Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template loop detected: Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template loop detected: Template:Convert Template loop detected: Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template loop detected: Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template loop detected: Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para and Template:Para Template loop detected: Template:Convert
Template:Para Template loop detected: Template:Convert
Template:Para (default) Template loop detected: Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template loop detected: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template loop detected: Template:Convert
B Template loop detected: Template:Convert
C Template loop detected: Template:Convert
D Template loop detected: Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

  • {{convert|26|mpgUS|l/100km mpgimp}}Template loop detected: Template:Convert

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

  • {{convert|2|m|ftin}}Template loop detected: Template:Convert
  • {{convert|2|m|ft in}}Template loop detected: Template:Convert, using a space, returns the decimal point

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

  • {{convert|input=P2073|qid=Q1056131|ftin|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on}}Template loop detected: Template:Convert
  • {{convert|input=P2073|qid=Q1056131|km|abbr=on|disp=out}}Template loop detected: Template:Convert
For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template loop detected: Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs Template:Sandbox other

Default behaviour, for comparison:

Setting Template:Para to a value less than 1 is meaningless:

Round to a multiple of 5: 15, 20, 25, ...

Using Template:Para rounds the outcome to a multiple of 5.

Similar: using Template:Para rounds the outcome to a multiple of 25.

Default behaviour, for comparison:

In a range, one can round each value individually to the default. Use Template:Para:

Round to a multiple of a given fraction: Template:Frac inch

Specify the desired denominator using Template:Para. (Denominator is the below-the-slash number, for example the 3 in Template:Frac).

The fraction is reduced when possible:

Default behaviour uses decimal notation:

Template:AnchorRounding temperatures: °C, °F and K

In temperatures, the conversion will be rounded either to the precision comparable to that of the input value or to that which would give three significant figures when expressed in kelvins, whichever is more precise.

  1. {{#invoke:DemoTemplate|convert|10,000|C|F K}}
  2. {{#invoke:DemoTemplate|convert|10,000.1|C|F K}}
  3. {{#invoke:DemoTemplate|convert|-272|C|F K}}
  4. {{#invoke:DemoTemplate|convert|-272|C}}
  5. {{#invoke:DemoTemplate|convert|100|C|F K}}
  6. {{#invoke:DemoTemplate|convert|0|C|F K}}

The precision of the input number in example (1) is one digit, but the precision of its Kelvins expression is three, so the precision of the Fahrenheit conversion is made three (made 180...) . (1) and (2) seem to belie the fact that a Template:Convert, and make the 32 degrees difference shown in (1) begin to seem off somehow. Result (1) seems off until you set the significant figures yourself with Template:Para:

{{#invoke:DemoTemplate|convert|10000|C|sigfig=5}}

or you set the precision positionally, relative to the decimal point (zero being at the decimal point):

{{#invoke:DemoTemplate|convert|10000|C|0}}

The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is, whereas before, Kelvins had determined it to be three. Examples (3) and (4) show how this can be hidden and generate questions, but it occurs there because the Kelvins conversion generated two fractional parts. (Before it was the input number that generated the fractional part.) In example (3) the three input digits converted into five significant output digits because of the two digits after the decimal point, generated by the Kelvins conversion. This happened again in (5), but in (6) decimal fractions were neither given as input nor induced by the Kelvins conversion.

Rounding input

There is limited support for rounding the displayed input number. The rounding takes place after conversion, so the output is based on the full-precision input. This is useful when the input is produced by Template:Tlc or otherwise available to a higher precision than is usefully displayed, and it's desirable to avoid double-rounding.

To round the input to a specified number of digits after the decimal point, use one of the parameters:

Note that there is no Template:ParaTemplate:Nay or similar for rounding above the decimal place. Neither is there support for significant figures, multiples of 5, or any other output-rounding feature.

The default precision is computed based on the input, so an explicit output precision must usually be supplied:

In this case, if the input were rounded before conversion, a different result would be obtained:

Into multiple units: Template:Convert

Separate the multiple output units by a space:

If the output unit names contain spaces, use + as the separator.

See also:

Ranges of values

Template:For A range converts two values and separates them by your choice of words and punctuation.

A range: 6 to 17 kg (13 to 37 lb)

Range indicators are entered as the second parameter (between the values). Range separators can be:
Template:Convert/doc/range separator list

Multiple dimensions: Template:Convert

Use by:

Use ×, multiplication sign, or x, letter:

In science, the formal way is to set |x| and Template:Para (keeping dimensions right, like in area = x km2):

Lists of values: 20, 40, or 60 miles

{{convert|20|,|40|, or|60|mi}}Template:Convert

About feet, inch in ranges and multiples

While it is possible to enter feet, inch in a simple conversion, this is not possible for ranges:

Default behaviour, for comparison:

However, converting metric units into feet and inches with Template:Para can produce the desired output:

Words

Spelling of unit name: international metre or US meter?

Default spelling of units is in the en (generic) locale. To show en-US spelling, use Template:Para:

{{convert|1|m|ft}}Template:Convertdefault
{{convert|1|m|ft|sp=us}}Template:Convert

Spell out numbers: ten miles

To write a number in words, use Template:Para:

To spell out both in and out values, use Template:Para:

To make first letter a capital, use Template:Para, Template:Para

Remember that the spelling of the units (ft, m) is independently set by Template:Para. To the extreme:

Inserted before units: 4 planted acres

disp=preunit is similar, but has no separator after the specified text, and can have different text for the output value:

After adjective unit: A Template:Convert corridor

Note that two units (in this case, ft and m) are required. Use with just one unit will generate an error message.

{{convert|10|ft|m|adj=mid|-long}}Template:Convert

Plurals: 1 inch, 2 inches

The unit symbol is singular always. Depending on the preceding number only, a unit name can be shown plural.

Exception

Entering the unit spelled |foot| forces singular output "foot", whatever the number is.

Fractions: one-eighth of an imperial pint

The convert template also supports spelling out fractions.

Any additional words needed for the fraction can also be added at the end of the template.

Wrapping and line breaking

See Template:Section link

Spelling out "thousands", "millions", etc.

Most unit codes accept a prefix of e3 (thousand) or e6 (million) or e9 (billion).

To display both input and output in scientific notation, use Template:Para

To spell out "thousands", "millions", etc., Template:Para abbreviates the unit; Template:Para displays both full unit names.

Numbers

Using an SI prefix: gigametre (Gm), or micrometre (μm)

Template:Sidebar metric prefixes (small) Units can have an SI prefix like G before the unit: Gm, and giga before the name: gigametre. These are plain multiplication factors.

To illustrate, these are trivial calculations (from metre to metre), showing the multiplication factor:

The prefix can be added before the SI unit (here: unit m for metre):

The prefix can be used in the output unit:

As an exception, the non-SI unit "inch" can have the "μ" prefix too:

Template:Further information

Engineering notation: 7 × 106 m

In the unit: e6m

Engineering notation can be entered as a "prefix" to the unit:

The same is possible for the output unit:

Any standard unit (not a combination, multiple, or built-in unit) can have such a prefix:

  • e3 (thousand),
  • e6 (million),
  • e9 (billion),
  • e12 (trillion),
  • e15 (quadrillion).

Scientific notation: 1.23 × 10−14

In scientific notation, a number is written like Template:Rnd. The plain number has exactly one digit before the decimal point.

With Template:Tlf, the input can be in e-notation such as 12.3e4. This value is displayed as a power of ten, and the output is displayed in scientific notation, except that an output value satisfying 0.01 <= v < 1000 is shown as a normal number. In addition, if the output value is 1000 and sigfig=4 is used, the value is displayed as a normal number.

Input with fractions: Template:Convert

The number to convert can be written in fractions. Both / (keyboard slash) and (fraction slash) are accepted:

With positive mixed numbers (a positive integer and a fraction), use a + sign

With negative mixed numbers, use a hyphen - and repeat it:

Note that the following cases are not interpreted as mixed numbers:

  • {{convert|2-1⁄2|in|mm|1}}Template:Convert. This is interpreted as a range from 2 inches to 1⁄2 inch.
  • {{convert|-2+1⁄2|in|mm|1}}Template:Convert Template:Nay This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.

Horizontal fraction bar: Template:Sfrac inch

Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:

Using a negative value for Template:Para provides a horizontal fraction bar for the converted (output) unit:

Thousands separator: 1,000 mi or 1000 mi

In input, a comma for thousands separator is accepted but not required; a gap (space) is not accepted. In output, by default, the thousand separator is the comma:

Set Template:Para to remove the separator from the output:

Use Template:Para to use digit grouping by gap (thin space) as a thousands separator:

Default behaviour, for comparison:

Setting Template:Para will only add the separator when the number of digits is 5 or more:

Default behaviour, for comparison:

Output manipulation

Brackets and separators: 10 m [33 ft]

Punctuation that distinguishes the two measurements is set by Template:Para.
Options are: b (the default), sqbr, comma, or, br, x!:

Default behaviour, for comparison:

Setting Template:Para will force a new line (<br/>)

Also Template:Para will force a new line, and keep the brackets (useful in tables):

Setting Template:Para allows any text as separator:

  • {{convert|10|m|ft|disp=x|_MyText_}}Template:Convert (To display spaces, use &nbsp;)

Flipping (reordering) the two measurements: Template:Convert

Setting Template:Para will flip (swap) the two measurements:

Default behaviour, for comparison:

When converting to multiple units, the effect is:

Fixed ordering of output units: Template:Convert

Setting Template:Para shows the output-units as ordered; the input unit is skipped:

See also: § Displaying parts of the output.

Displaying parts of the result: Template:Convert

It is possible to display only parts of the conversion result:

Convert Output Returns
{{convert|2|cuyd|m3}} Template:Convert Regular output (for comparison)
{{convert|2|cuyd|m3|abbr=values}} Template:Convert Input and output numbers
{{convert|2|cuyd|m3|disp=unit}} Template:Convert Input unit
{{convert|2|cuyd|m3|disp=unit|adj=on}} Template:Convert Input unit, adjective (hyphenated)
{{convert|2|cuyd|cuyd|disp=out}} Template:Convert Input (workaround. Template:Nowrap)
{{convert|2|cuyd|m3|abbr=~}} Template:Convert Input: both name and symbol
{{convert|2|cuyd|m3|disp=unit2}} Template:Convert Output unit (symbol)
{{convert|2|cuyd|m3|disp=unit2|abbr=off}} Template:Convert Output unit (name)
{{convert|2|cuyd|m3|disp=number}} Template:Convert Output value
{{convert|2|cuyd|m3|disp=out}} Template:Convert Output value and unit name
{{convert|2|cuyd|m3|disp=out|abbr=off}} Template:Convert Output value and unit symbol

Display both input name and symbol: 2 kilopascals [kPa]

Setting Template:Para returns both name and symbol of the first (input) unit:

Table options

For the wikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.

Enforced line break

Template:Para adds a line-break and omits brackets.

Template:Para adds a line-break and does add brackets to the converted value. This may be useful in tables:

Template:Para Template:Para
Template:Convert Template:Convert

Table columns

Using {convert} in a table cell, with Template:Para splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the Template:Para parameter. Multiple-unit outputs, like ftin, always output their units to the table.

{{convert|10|m|ft|disp=table}}

Template:Convert

Template:Para does the same, and also centers the text:

{{convert|20|m|ft|disp=tablecen}}

Template:Convert

The units are added as a column header:

  kilograms pounds stone and pounds
Template:Para Template:Convert
Template:Para and Template:Para Template:Convert
Template:Para and Template:Para Template:Convert
Template:Para Template:Convert
Template:Para (default) Template:Convert

Sorting

Use Template:Para to include a hidden numerical sortkey in the output, suitable for use in a table with sortable columns. Technically, this places a hidden string before the actual displayed values:

{{convert|10|m|ft|sortable=on}} Template:Nowrap
showing: Template:Convert.

Use both Template:Para and Template:Para together to produce table columns (pipe symbols) for each value in sortable columns:

m ft
A Template:Convert
B Template:Convert
C Template:Convert
D Template:Convert

The generated sortkey is calculated in a consistent way based on both the value and its unit as passed to the convert template. In most cases convert uses the passed value converted to SI base units. It is therefore not necessarily the displayed value or other alternate units and is calculated regardless of output format options. Using different units or different order of units in individual rows should therefore not lead to incorrect sorting, although variations in rounding can give surprising results, since an unrounded number is used for the sortkey.

Units

The conversion factors and physical constants are sourced here.

All units

Template:Selfref Template:Hatnote Template:Convert/list of units

Template:Anchor'per' units: kg/hl, miles per gallon

When using a slash (/), a unit like kg/hl is recognized as kilograms per hectolitre and will be converted with other mass/volume units.

Population density (inhabitants per square mile) can be converted using

Vehicular fuel efficiency, commonly expressed in miles per gallon or litres per 100 km can also be converted

Template:AnchorUnits of difference: Expressing a change or difference in temperature

We have already discussed standard temperature conversions (°C, °F, K), as shown in these two examples:

  • {{#invoke:DemoTemplate|convert|10|C}} (standard temperature conversion)
  • {{#invoke:DemoTemplate|convert|10–15|C}} (standard temperature range conversion)

When expressing a temperature change (e.g., "The temperature increased by 10 °C"), or when comparing temperatures (e.g., "10 to 15 °C warmer"), we cannot use the standard temperature units (Template:Para, Template:Para and Template:Para), which refer to points on the respective scale. Instead, we must use one of the following "units of difference": Template:Para, Template:Para and Template:Para.

Compare the following two examples with the two above:

  • {{#invoke:DemoTemplate|convert|10|C-change}} increase in temperature
  • {{#invoke:DemoTemplate|convert|10–15|C-change}} warmer than normal

To produce multiple units in the output:

  • {{#invoke:DemoTemplate|convert|10|C-change|F-change K-change}} difference

Multiple units: 1 ft 5 in

In input

Base document Template:Slink lists options for multiple unit input (like ft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):

In output

Available multiple-unit output options predefined, like ftin and ydftin. The full list is at Template:Slink.

Default behaviour, for comparison:

See also:

Currency per unit: $/mi → $/km

Using currency symbols in a $ per unit value, you can convert the per-unit:

You can set the currency in both values using Template:Para:

It is not possible to convert the currency. So, this result (mixed currencies) is not possible: Template:!mxt Template:Nay

Using convert inside templates

For usage in template code, like infoboxes, Template:Tlf has these options:

Pre-formatting fraction input
Your template can accept Template:Para and use {{#invoke:Convert/helper|number|16 7/8}} → {{#invoke:Convert/helper|number|16 7/8}}
Using a Wikidata property
  • Adding the Wikidata property code, like code Template:Para, to your template code automatically returns the Wikidata property for that article, and convert it. Both number and unit are read.

Note: to return that property value for an other article, use Template:Para.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

For example see template:Infobox Telescope.

Sometimes a property may have more than one value against it in Wikidata. You can use the Template:Para parameter to specify which of the values you want to use.

Example for Template:Wikidata property link: Note: this example uses Template:Para (testing for Template:Wikidata entity link)

Parameter list

Template:Convert/doc/parameter list

Deprecated options

Template:Convert/doc/deprecations list

TemplateData

Template:TemplateDataHeader

<templatedata> { "description": "Converts measurements to other units.", "params": { "1": { "label": "Value", "description": "The value to convert.", "type": "number", "required": true }, "2": { "label": "From unit", "description": "The unit for the provided value.", "type": "string", "example": "km", "required": true }, "3": { "label": "To units", "description": "The units to convert into. Separate units by a space for multiple outputs. In an output unit, use + for a multiplication space.", "type": "string", "example": "mi nmi", "suggested": true }, "4": { "label": "Precision or suffix", "description": "Significant digits after decimal dot or, if negative, exponent of ten.", "type": "number" }, "lk": { "label": "Link units", "description": "Indication of what units to apply wikilinks to. Use “on” for all, “in” for the input unit, “out” for the output units, or “off” for none of the units.", "default": "off", "type": "string", "example": "on" }, "abbr": { "label": "Abbreviation", "description": "Display for the units: “on” to display all units using their unit symbols, “off” to display all units in full words, “in” to display the unit symbol for the input unit, “out” to display the unit symbols for the output units, “unit” to display unit symbols for both input and output units when using scientific notation, “values” for no units at all (neither unit symbols nor full words of units).", "default": "out", "type": "string", "example": "on, unit, in, out, off", "suggested": true }, "sp": { "label": "Spelling", "description": "Spelling of units. Use “us” to display unit names using U.S. spelling.", "type": "string", "example": "us" }, "adj": { "label": "Adjective", "description": "Whether to use adjectival form. Use “on” for singular unit name appended by a hyphen, “mid” to put conversion at end, or “off” (default) for no adjectival form.", "type": "unbalanced-wikitext", "example": "on", "default": "off" }, "disp": { "label": "Conversion", "description": "Display conversion result: “or”: after ‘or’, “x”: with custom prefix and suffix, “b”: in parentheses, “table”/“tablecen”, “output only”: alone, “output number only”: alone and without unit, “unit”: not at all but input unit; if the value is a number it is used as precision.", "type": "string", "example": "b" }, "order": { "label": "Ordering", "description": "“flip” returns converted value first, input value second.", "type": "string", "example": "flip" }, "sigfig": { "label": "Significant figures", "description": "Indicates the number of significant figures to be used in rounding.", "type": "number" }, "round": { "label": "Rounding output", "description": "The type of rounding. “5” rounds the output number to nearest multiple of 5, “25” to nearest multiple of 25, “each” rounds each number in a range.", "type": "number" }, "comma": { "label": "Thousands separator", "description": "Sets or suppresses the use of thousands separators in the numbers. “off”: no separator; “gaps”: use space instead of comma as thousands separator; “5”: only add thousands separator when the integral part of the number uses 5 positions or more (10,000 or more; if using comma as thousands separator, 1234 would produce '1234', 12345 would produce '12,345').", "default": "on", "type": "string", "example": "off" }, "sortable": { "label": "Sort key", "description": "“on” generates a hidden sort key", "type": "string", "example": "on" }, "spell": { "label": "Spell numbers?", "description": "If used, spells input or input and output numbers in words, optionally capitalizing the first", "example": "'in', 'In', 'on', or 'On'", "type": "string" }, "sing": { "type": "string", "deprecated": "use adj=", "label": "Singular?", "description": "If 'yes', uses singular form of units (deprecated)", "example": "yes" }, "frac": { "label": "Fraction?", "description": "fraction as rounding unit", "type": "number" }, "$": { "label": "Currency symbol", "description": "sets currency symbol in both units", "example": "$=€ will show \" €10 per mile (€6.2/km)\"", "type": "string" }, "input": { "label": "WD property", "description": "Reads the property value of the item (article), then converts it", "example": "Template:Convert (P2046=area)", "type": "string" } }, "format": "inline" } </templatedata>

See also

Template:Convert navs