Template{{convert}} calculates a measurement value (number × unit) into the same measurement by a different unit, and then presents the results, formatted. See also theunit symbols recognized by this template.
For example:
{{convert|2|km|mi}} → 2 kilometres (1.2 mi)(km entered, converted into miles)
{{convert|7|mi|km}} → 7 miles (11 km)(mi entered, converted into km)
Numbers can be rounded,units can be abbreviated into symbols:
{{convert|2|km|mi|2|abbr=on}} → 2 km (1.24 mi)
{{convert|7|mi|km|2|abbr=on}} → 7 mi (11.27 km)
Valueranges can be entered using|to|... or|-|...:
{{convert|2|to|5|km|mi}} → 2 to 5 kilometres (1.2 to 3.1 mi)
By definition, 100 ft equals 30.48 m. In practical use, it is common to round the calculated metric number. With that, there are several possibilities.
Default rounding
By{{Convert}} 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 isrounding temperatures (seebelow).
Convert supports four types of rounding:
Round to a given precision:use a precision number
Specify the desired precision with an integer as thefourth 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 of1⁄10 to the power of this integer. For instance, if the result is 8621 and the rounding parameter is "−2", 8600 will be displayed. If the result is "123.456" and the parameter is "0", 123 will be displayed. Essentially a positive or zero rounding parameter specifies the number of decimal places; a negative value specifies the number of trailing zeroes.
Examples of rounding
Input
Displays as
Note
{{convert|123|ft|m|-1}}
123 feet (40 m)
{{convert|123|ft|m}}
123 feet (37 m)
same output with precision 0 or <default>
{{convert|123|ft|m|0}}
123 feet (37 m)
{{convert|123|ft|m|1}}
123 feet (37.5 m)
{{convert|123|ft|m|2}}
123 feet (37.49 m)
123feet is exactly 37.4904 m which is rounded to 37 m if precision is not specified
{{convert|500|ft|m|-1}}
500 feet (150 m)
same output with precision-1 or <default>, 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}}
500 feet (150 m)
{{convert|500|ft|m|0}}
500 feet (152 m)
{{convert|500|ft|m|1}}
500 feet (152.4 m)
{{convert|500|ft|m|2}}
500 feet (152.40 m)
exact value is 152.4 m
{{convert|500|ft|cm|-3}}
500 feet (15,000 cm)
same output with precision-3 or <default>, 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}}
500 feet (15,000 cm)
{{convert|500|ft|cm|0}}
500 feet (15,240 cm)
Round to a given number of significant figures:|sigfig=
To specify the output number to be withn significant figures use|sigfig=<number>:
{{convert|1200|ft|m|sigfig=4}} → 1,200 feet (365.8 m)
{{convert|1200|ft|m|sigfig=3}} → 1,200 feet (366 m)
{{convert|1200|ft|m|sigfig=2}} → 1,200 feet (370 m)
{{convert|1200|ft|m|sigfig=1}} → 1,200 feet (400 m)
Default behavior, for comparison:
{{convert|1200|ft|m}} → 1,200 feet (370 m)
Setting|sigfig= to a value less than 1 is meaningless:
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.
{{convert|10,000|C|F K}} → 10,000 °C (18,000 °F; 10,300 K)
{{convert|10,000.1|C|F K}} → 10,000.1 °C (18,032.2 °F; 10,273.2 K)
{{convert|-272|C|F K}} → −272 °C (−457.60 °F; 1.15 K)
{{convert|-272|C}} → −272 °C (−457.60 °F)
{{convert|100|C|F K}} → 100 °C (212 °F; 373 K)
{{convert|0|C|F K}} → 0 °C (32 °F; 273 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 ismade three (made 180...) . (1) and (2) seem to belie the fact that a 0.1 degrees Celsius change is a 0.18 degrees Fahrenheit change, and make the 32 degrees difference shown in (1) begin to seem off somehow.Result (1) seems off until you set thesignificant figures yourself with|sigfig=:
{{convert|10000|C|sigfig=5}} → 10,000 °C (18,032 °F)
or you set the precisionpositionally, relative to the decimal point (zero beingat the decimal point):
{{convert|10000|C|0}} → 10,000 °C (18,032 °F)
The precision of the input number in example (2) is six, so the precision of the Fahrenheit output is six now, 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 the 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 displayedinput number. The rounding takes placeafter conversion, so the output is based on the full-precision input. This is useful when the input is produced by{{#expr:}} 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:
|adj=ri0
|adj=ri1
|adj=ri2
|adj=ri3
Note that it is not possible to round above the decimal place (|adj=ri-1N is invalid). Neither is there support for significant figures, multiples of a number, or any other output-rounding feature.
The default precision is computed based on the input, so an explicit output precision must usually be supplied:
{{convert|4.14159|mi|km|adj=ri0}} → 4 miles (6.66524 km)N (precisions are mismatched)
{{convert|4.14159|mi|km|0|adj=ri0}} → 4 miles (7 km)Y
In this case, if the input were rounded before conversion, a different result would be obtained:
{{convert|{{#expr:4.14159 round 0}}|mi|km|0}} → 4 miles (6 km)N (rounds intermediate calculation, giving a different result)
{{convert|70|e6m}} → 70 million metres (230,000,000 ft)
{{convert|70|e6m|abbr=on}} → 70×10^6 m (230,000,000 ft)
The same is possible for the output unit:
{{convert|230,000,000|ft|e6m}} → 230,000,000 feet (70×10^6 m)
The prefixes are:
e3 (thousand)
e6 (million)
e9 (billion)
e12 (trillion)
e15 (quadrillion)
Engineering notation may use "e" or "E", for example,e3km orE3km. Using uppercaseE3km displays the factor as a word ("thousand") rather than as×103. Using lowercasee3km displays the word ifabbr=unit is used, or ifabbr=off applies to the unit.
{{convert|70|e6m|e6ft}} → 70 million metres (230×10^6 ft)
{{convert|70|e6m|e6ft|abbr=off}} → 70 million metres (230 million feet)
{{convert|70|e6m|e6ft|abbr=unit}} → 70 million m (230 million ft)
{{convert|70|E6m|e6ft|abbr=in}} → 70 million m (230 million feet)
Scientific notation:1.23 × 10−14
Inscientific notation, a number is written like1.23×10−14. The plain number has exactly one digit before the decimal point.
With{{convert}}, the input can be in e-notation such as12.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.
Note that the following cases are not interpreted as mixed numbers:
{{convert|2-1⁄2|in|mm|1}} →2–1⁄2 inch (50.8–12.7 mm). This is interpreted as a range from 2 inches to 1⁄2 inch.
{{convert|-2+1⁄2|in|mm|1}} →[convert: invalid number]N This is neither a mixed number nor a range, and mathematical expressions requiring calculations are not allowed here.
{{convert|2+½|in|mm|1}} →[convert: invalid number]N Fractions consisting of a single Unicode character are not allowed either.
Horizontal fraction bar:1/2 inch
Using a double slash (//) provides a horizontal fraction bar for the original (input) unit:
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:
A {{convert|2|kPa|psi|abbr=~|adj=on}} pressure →A 2-kilopascal [kPa] (0.29 psi) pressure
Table options
For thewikitable structure, there are three options: add a line-break, split the result over columns and make the table sortable.
Enforced line break
|disp=br adds a line-break and omits brackets.
|disp=br() adds a line-break and does add brackets to the converted value. This may be useful in tables:
|disp=br
|disp=br()
100 kilometres 62 miles
100 kilometres (62 miles)
Table columns
Using {convert} in a table cell, with|disp=table splits the result over two (or more) columns. By default units are not included in the table, however, they can be added using the|abbr= parameter. Multiple-unit outputs, likeftin, always output their units to the table.
Use|sortable=on to include ahidden numerical sortkey in the output, suitable for use in atable with sortable columns. Technically, this places a hidden string before the actual displayed values:
Use both|disp=table and|sortable=on together to produce table columns (pipe symbols) for each value in sortable columns:
m
m
ft
A
15.75 m
15+3⁄4
52
B
15.5 m
15.5
51
C
16 m
16.0
52.5
D
16 m
16
52
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 sourcedhere.
The table below lists units supported by{{convert}} or{{cvt}}. More complete lists are linked for each dimension. For a complete list of all dimensions, seefull list of units.
{{Convert}} usesunit-codes, which are similar to, but not necessarily exactly the same as, the usual written abbreviation for a given unit. These unit-codes are displayed in column 3 of the following tables. These are accepted as input by{{convert}} as the second and third unnamed parameters:
{{convert|100|kg|lb}} → 100 kilograms (220 lb)
{{convert|100|lb|kg}} → 100 pounds (45 kg)
The unit-codes should be treated ascase-sensitive:
The output of{{convert}} can display multiple converted units, if further unit-codes are specified after the second unnamed parameter (without the pipe separator). Typical combination output units are listed below in column 7.
{{convert|55|nmi|km mi}} → 55 nautical miles (102 km; 63 mi)
{{convert|1|oz|ozt g gr}} → 1 ounce (0.91 ozt; 28 g; 440 gr)
Some units have alternative unit-codes. These are shown in brackets in column 3, e.g.°F (F). Either may be entered for Fahrenheit (but not a lower-case f).
When using a slash (/), a unit likekg/ha is recognized as kilogramsper hectare and will be converted in to other mass/area units. A unit in the numerator is not required.
{{convert|1000|kg/ha}} → 1,000 kilograms per hectare (890 lb/acre)
{{convert|350|/in2}} → 350 per square inch (54/cm2)
Population density (inhabitants per square mile) can be converted using
{{convert|10|PD/sqmi|PD/km2}} → 10 inhabitants per square mile (3.9/km2)
Vehicular fuel efficiency, commonly expressed inmiles per gallon orlitres per 100 km can also be converted
{{convert|26|mpgUS|l/100km mpgimp}} → 26 miles per US gallon (9.0 l/100 km; 31 mpg‑imp)
Units 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:
{{convert|10|C}} → 10 °C (50 °F) (standard temperature conversion)
{{convert|10|-|15|C}} → 10–15 °C (50–59 °F) (standard temperature range conversion)
When expressing a temperaturechange (e.g., "The temperatureincreased by 10 °C"), or whencomparing temperatures (e.g., "10 to 15 °Cwarmer"), we cannot use the standard temperature units (|C,|F and|K), which refer to points on the respective scale. Instead, we must use one of the following "units of difference":|C-change,|F-change and|K-change.
Compare the following two examples with the two above:
{{convert|10|C-change}} → 10 °C (18 °F) increase in temperature
{{convert|10|-|15|C-change}} → 10–15 °C (18–27 °F) warmer than normal
To produce multiple units in the output:
{{convert|10|C-change|F-change K-change}} → 10 °C (18 °F; 10 K) difference
Multiple units:1 ft 5 in
In input
Base document§ Input multiples lists options formultiple unit input (likeft,in). It can catch predefined sets only (units that can be subdivided; e.g., yd into ft):
{{convert|1|yd|2|ft|3|in}} → 1 yard 2 feet 3 inches (1.60 m)
So, this result (mixed currencies) isnot possible:$15 per mile (€8.6/km)N
Using convert inside templates
For use in templates such as infoboxes,{{convert}} has these options:
Handling errors
Parameter|error=x replaces the need to use{{#iferror|...}} to check for errors,
If no error occurs in the conversion,|error=x has no effect. Otherwise, the result isx (no error occurs).
Examples:
{{convert|123|kcal|error=This text has no effect because the conversion works.}} → 123 kilocalories (510 kJ)
{{convert|123 calories (per biscuit)|kcal|error=This text is displayed instead of an error.}} → This text is displayed instead of an error.
{{convert|123 calories (per biscuit)|kcal|error=}} → (nothing is displayed)
Pre-formatting fraction input
Module:Convert/helper can read regular input and pre-format it into{{convert}}-accepted input. Note this function does not have the full capabilities of the convert template; it only converts fractions (andhorse race distances)
Your template can accept|input=16 7/8 and use {{#invoke:convert/helper|number|16 7/8}} → 16+7/8
Using a Wikidata property
Adding the Wikidata property code, like code|input=P2073, 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 another article, use|qid=.
Sometimes a property may have more than one value against it in Wikidata. You can use the|qual= parameter to specify which of the values you want to use.
Same asabbr=on but only for units (e6km → "million km")
Unit display
|abbr=values
values
Show only the input and output numbers; omit units
Unit display
|abbr=~
~
Shows both unit name and symbol for the input
Unit display
|adj=mid|...
mid
User-specified text after the input unit; setsadj=on (adjectival); requires one unnamed parameter
Word adding, adjectival
|adj=on
on
adjectival; unit name is singular and hyphenated
Grammar, adjectival
|adj=pre|...
pre
User-specified text before input unit (prefix); requires one unnamed parameter
Word adding
|adj=ri0
ri0
Round input with precision 0
Input precision
|adj=ri1
ri1
Round input with precision 1
Input precision
|adj=ri2
ri2
Round input with precision 2
Input precision
|adj=ri3
ri3
Round input with precision 3
Input precision
|altitude_ft=N
N
Specifies altitude in feet for a conversion withmach as the input unit
Qualifier
|altitude_m=N
N
Specifies altitude in metres for a conversion withmach as the input unit
Qualifier
|comma=5
5
Only use comma for thousands separator if 5 or more digits
Number format
|comma=gaps
gaps
Use gaps (space), not comma, for thousands separator
Number format
|comma=off
off
No thousands separator (raw number)
Number format
|disp=b
b
Join input and output using " (...)" (default)
Join values
|disp=sqbr
sqbr
Join input and output using " [...]"
Join values
|disp=br
br
Join input and output using "<br />"
Join values
|disp=br()
br
Join input and output using "<br />(...)"
Join values
|disp=comma
comma
Join input and output using ", "
Join values
|disp=semicolon
semicolon
Join input and output using "; "
Join values
|disp=or
or
Join input and output using " or "
Join values
|disp=(or)
or
Join input and output using " (...)" but with "or" between outputs in a combination
Join values
|disp=number
number
Display output number only
Parts only
|disp=output number only
output number only
|disp=out
out
Display only output number and name/symbol
Parts only
|disp=output only
output only
|disp=preunit|...[|...]
preunit
Text to be inserted after value and before units, for both input and output, with optionally different text for output; requires 1 or 2 unnamed parameters
Word adding
|disp=table
table
Output is suitable for a table cell with align="right"
Table columns
|disp=tablecen
tablecen
Output is suitable for a table cell with align="center"
Table columns
|disp=unit
unit
Display input name/symbol only (not input number, not output)
Parts only
|disp=unit2
unit2
Display output name/symbol only (not input; not output number)
Parts only
|disp=x|...
x
Join input and output using one (or two) unnamed parameter(s) before (and after) the output
Word adding
|error=x
any text
This has no effect if the conversion works; if a conversion error occurs, the result isx (and the original error message is suppressed)
Inside template
|frac=N
3⁄4(e.g.)
Show number as a fraction with denominatorN
Number format, fraction
|frac=-N
3/4(e.g.)
Show number as a fraction with a horizontal bar
Number format, fraction
|input=P2048
P2048(e.g.)
Reads and converts a Wikidata property
Inside template
|lk=in
in
Link left-hand side unit name or symbol
Unit link
|lk=on
on
Link all unit names or symbols (but not twice for the same unit)
Unit link
|lk=out
out
Link right-hand side unit name or symbol
Unit link
|order=flip
flip
Swaps the order of the input and output measurements
Order
|order=out
out
Displays output units in the order entered, skipping input unit
Order
|qid=Q1056131
Q1056131(e.g.)
Specifies the Wikidata entity to be used with a property such asinput=P2048
Inside template; testing
|qual=Q613628
Q613628(e.g.)
Specifies a statement qualifier for a Wikidata property
Qualify Wikidata property
|round=N
N
Rounds output value to nearestN which can be0.5 or1 or5 or10 or25 or50
Output precision
|round=each
each
In a range, round each number separately rather than selecting the same rounding precision
Output precision
|sigfig=N
N
Round output number toN significant figures (N is a positive integer)
Output precision
|sortable=on
on
Adds an invisible sort key
Table sort
|sp=us
us
Use U.S. spelling ("meter" instead of default "metre")
Spelling U.S. names
|spell=in
in
Spell input number in words
Spelling numbers
|spell=In
In
Spell input number in words with first letter uppercase
Spelling numbers
|spell=on
on
Spell input and output numbers in words
Spelling numbers
|spell=On
On
Spell input and output numbers in words with first letter uppercase
Spelling numbers
|$=€
€
Replace $-sign with a currency sign, for example in€/hectare
Cost per unit No currency conversion happens
|debug=yes
yes
Debugging only. In a sortable table: show the normally hidden sort key
Deprecated options should not be used. They may produce incorrect or undesired results and there is no guarantee that they will be supported in the future.
disp=flip is deprecated. Useorder=flip instead
sing= is deprecated in any situation. Useadj= instead
Range separator|xx| is deprecated (notMOS compliant). Use|x| instead
Range separator|*| is deprecated (notMOS compliant). Use|x| instead
Significant digits after decimal dot or, if negative, exponent of ten.
Number
optional
Link units
lk
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. For more fine-grained control over which units to link, use the template multiple times.
Suggested values
inoutonoff
Default
off
Example
on
String
optional
Abbreviation
abbr
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).
Suggested values
inoffnoneonoutunitvalues~
Default
out
Example
on, unit, in, out, off
String
suggested
Spelling
sp
Spelling of units. Use “us” to display unit names using U.S. spelling.
Example
us
String
optional
Adjective
adj
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.
Suggested values
midonpreri0ri1ri2ri3off
Default
off
Example
on
Unbalanced wikitext
optional
Conversion
disp
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.
Suggested values
bsqbrbrcommasemicolonornumberoutput number onlyoutoutput onlypreunittabletablecenunitunit2x
Example
b
String
optional
Ordering
order
“flip” returns converted value first, input value second.
Suggested values
flipout
Example
flip
String
optional
Significant figures
sigfig
Indicates the number of significant figures to be used in rounding.
Number
optional
Rounding output
round
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.
Number
optional
Thousands separator
comma
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
Example
off
Boolean
optional
Sort key
sortable
“on” generates a hidden sort key
Example
on
Boolean
optional
Spell numbers?
spell
If used, spells input or input and output numbers in words, optionally capitalizing the first
Suggested values
inInonOn
Example
'in', 'In', 'on', or 'On'
String
optional
Singular?
sing
If 'yes', uses singular form of units (deprecated)
Example
yes
Boolean
deprecated
Fraction?
frac
fraction as rounding unit
Number
optional
Currency symbol
$
sets currency symbol in both units
Example
$=€ will show " €10 per mile (€6.2/km)"
String
optional
Mach altitude (ft)
altitude_ft
Mach (speed) depends on altitude
Suggested values
10000
Number
optional
Mach altitude (m)
altitude_m
Mach (speed) depends on altitude
Number
optional
WD property
input
Reads the property value of the item (article), then converts it