This template shows measurement quantities as primary and converted secondary units (or ranges), with optional rounding, wikilinks, abbreviation, or US spellings, and various separators including:  parentheses "( )", "or", hyphens, comma, "to" or dashes. The can help users by generating correct conversions from one unit of measurement to another, particularly for more complex units. It's also useful by making the text adhere to the Manual of Style. The text the template generates does not differ from a plain text equivalent, however.

Styles include: distance "Templat:Convert/m" and "Templat:Convert/m"; temperature "Templat:Convert/°C"; mass "Templat:Convert/kgTemplat:Convert/test/Aon" or "Templat:Convert/toTemplat:Convert/test/Aon"; etc. For units see: Convert/list of units.

Options include:  lk=in, abbr=on, abbr=off, sp=us, adj=on, adj=mid, disp=x, disp=table and sortable=on (explained below). By default, output is rounded to match the precision of input; alternatives include: sigfig=3 or using the end parameter, such as "|1" to show tenths or "|-2" to show full 100's, etc.

Single value:

{{convert|value|in_unit|out_unit|round_to|...}}

Range of 2 values, or set of 3 or 4 (see below for list of range options):

{{convert|''val1''|''range''|''val2'' |''in_unit''|''out_unit''|''round_to''|...}}
{{convert/3 |''val1''|''range''|''val2''|''words''|''val3''|''in_unit''|''out_unit''|''round_to''|...}}
{{convert/4 |''val1''|''words''|''val2''|''words''|''val3''|''words''|''val4''|''in_unit''|''out_unit''|...}}
  • Numbers must be entered in unformatted form (without commas). Values output by the template will be displayed formatted and with a true minus sign where appropriate. To specify with commas, re-code a number as {{formatnum:9,000,500|R}} (becomes 9000500).
  • Optional parameters, in examples below, allow abbreviated units (abbr=on), or U.S. spellings (sp=us for meter), or hyphenation (adj=on), etc.
  • This template may in some cases directly convert to other base units, for example {{convert|29.8|km/s|mi/h}} will directly convert the km/Templat:Red to mpTemplat:Red, as in Templat:Convert/km/sTemplat:Convert/test/Aon.
  • For this template many levels of substitution are possible, hence doing this fully, step by step, is cumbersome. Use Special:ExpandTemplates instead.
  • The template has very limited in-built capacity for dimensional analysis. It is therefore up to the user to ensure that most input and output units are compatible. Do not, for example, attempt to convert barrels to tonnes (but see {{bbl to t}}). Also beware of units with similar names; the code oz, for example, is for the avoirdupois ounce (a unit of mass), do not use this if you want fluid ounces. Note also that the code lb gives pounds mass, for pounds force use lbf.
  • An attempt to convert a unit to itself, e.g., km to km, will result in a template loop.
  • The range functionality is not fully implemented for all units, so experimentation may be required.
  • This documentation page tends to lag behind in terms of what the template can do. For details see the talk page and its archives.

Examples

sunting

Single value

sunting
Input Displays as
{{convert|3.21|kg|lb}} Templat:Convert/kg
{{convert|3.21|kg|lb|0}} Templat:Convert/kg
{{convert|10|kg|lb|disp=or}} Templat:Convert/kg
{{convert|6|ft|5|in|m}} Templat:Convert/ft
{{convert|10|mi}} Templat:Convert/mi
{{convert|100|mpgus}} Templat:Convert/mpgus
{{convert|120|km/h}} Templat:Convert/km/h
{{convert|18|°C|°F}} Templat:Convert/°C
{{convert|1250|sqft|m2|lk=in|sigfig=2}} Templat:Convert/sqft
Note 'lk=in' links only the input unit. This example is for illustration only, common units of measurement should not be linked. See: wp:overlink.
{{convert|20.5|m3|cuyd|lk=out|abbr=on}} Templat:Convert/m3Templat:Convert/test/Aon
Note 'lk=out' links only the output unit, cu yd.
{{convert|641|acre|ha sqmi|lk=on}} Templat:Convert/acre
Note 'lk=on' links all units. Per guidelines, common units should not be linked. See: wp:overlink.
{{convert|641|acre|ha sqmi|2|lk=on}} Templat:Convert/acre
Although 640 acres equals 1 square mile; 641 acres rounded to two decimal places equals 1.00 sq mi.

Range of 2 values

sunting
Note: not yet operational for all units
Input Displays as
{{convert|60|and|170|kg|lb}} Templat:Convert/and
{{convert|60|to|170|kg|lb}} Templat:Convert/to
{{convert|60|to(-)|170|kg|lb}} Templat:Convert/to(-)
{{convert|60|-|170|kg|lb}} Templat:Convert/-
{{convert|41|to|50|F|C}} Templat:Convert/to
{{convert|41|-|50|F|K}} Templat:Convert/-
{{convert|60|x|120|m|ft}} Templat:Convert/x
{{convert|60|+/-|10|m|ft}} Templat:Convert/+/-
{{convert|19|to|27|L|USgal}} Templat:Convert/to
{{convert|5|to|7|L|USgal}} Templat:Convert/to
{{convert|4|-|9|L|USgal|abbr=off}} Templat:Convert/-Templat:Convert/test/Aoff

The following conversions are currently not available as a range of values:

  • Some imperial and US gallon-based units
  • Other fuel-consumption units, except "mpg" or "L100km" shown above.
  • Large scale units (e3, e6, e9)
  • Combination-based units (ft&in, st&lb, lb&oz) due to complexity of the conversion.

Range/set of 3 or 4 values

sunting
Note: not yet operational for all units
Input Displays as
{{convert/3 |2|x|4|x|6|m|ft}} Templat:Convert/3
{{convert/3 |60|-|70|-|80|kg|lb}} Templat:Convert/3
{{convert/4 |60|-|70|-|80|-|90|kg|lb}} Templat:Convert/4
{{convert/3 |60|to|80|or|85|m|ft}} Templat:Convert/3
{{convert/3 |11|by|15|rarely|16|ft|m}} Templat:Convert/3
{{convert/3 |41|to|50|to|60|F|C}} Templat:Convert/3
{{convert/4 |2|to|12|, in summer|25|to|36|C|F}} Templat:Convert/4
{{convert/3 |41|-|50|almost|51|F|K}} Templat:Convert/3

For {{convert/3}} or {{convert/4}}, the separator words can be any text.

Parameters

sunting
Parameters
Use US spelling attach |sp=us
Make units linked attach |lk=on   to link all units (default: lk=off)
attach |lk=in   to link only the input units
attach |lk=out  to link only the output units
(The manual of style suggests that you should not link common units of measurement).
Use the adjective form, or insert mid-text words attach |adj=on (e.g. "190-foot (58 m) bridge" instead of "190 feet...").
This produces the adjective form—the unit name in the singular with a hyphen (according to the Manual of Style).

attach |adj=mid (e.g. "190-foot bridge (58 m)" as: |adj=mid|bridge

or "190-foot-long bridge (58 m)" as: |adj=mid|-long bridge)

Note 1: Any rounding-parameter should follow the mid-text: "text|0".
Note 2: For adj=mid, must specify both input & output unit-codes.

For example, to convert feet, use "ft|m" or "ft|0":
  • {{convert|9|ft|m|adj=mid|-long}} → 9-foot-long (2.7 m)
To default the output unit-code, set parameter 3 to: 0.
Abbreviate units, or not attach |abbr=on to show unit symbols
attach |abbr=off   to show all unit names in full words
attach |abbr=in to abbreviate input units
attach |abbr=out to abbreviate output units
attach |abbr=values to suppress unit names & show only values. So, {{convert|6|mi|abbr=values}} gives: Templat:Convert/miTemplat:Convert/test/Avalues.
Change "( )" to display other separators attach |disp=comma to put comma, not brackets/parentheses
attach |disp=or to put "or" between units.
The default value is:  disp=b for brackets/parentheses.
Change "( )" to customized separators attach |disp=x| (begin | end) to show "xx (begin yy end)" See example 1
attach |disp=x|; to show "xx; yy" See example 2
attach |disp=x| (same as |) to show "xx (same as yy)". See example 3
Example 1: {{convert|9|km|mi|disp=x| [|]}}9 kilometres [5.6 mi] (note space before [|)
Example 2: {{convert|9|km|mi|disp=x|;}}9 kilometres;5.6 mi
Example 3: {{convert|10|km|mi|disp=x| (about |)}}10 kilometres (about 6.2 mi) (note spaces used within the code).
Display output only attach |disp=output only to show result number & unit
attach |disp=output number only to show just number
Note when using "disp=output only" then the unit name can still be shown as full words by abbr=off or linked by lk=on.
Example: {{convert|7500|acre|m2|disp=output only }} → Templat:Convert/acre
Display units inverted as reverse order attach |disp=flip  to reverse the order & show output unit first.
So, {{convert|6|km|disp=flip}} shows "3.7 miles (6 km)".
To get symbol "mi" use abbr=in, to abbreviate the input unit (left-side unit).
Display unit name (only) attach |disp=unit to show the unit name for a symbol
The unit name will be plural when the amount is not 1, or hyphenated when adj=on. So, {{convert|2|cuyd|disp=unit}} shows "cubic yards" plural.
Display amounts as table cells attach |disp=table (or |disp=tablecen) Note: For use in tables, the template must start on a new line after a pipe. Only the number will be displayed unless you set |abbr=on, |lk=on, |lk=in or |lk=out. Example: here
Round to a specified number of significant figures attach |sigfig={some integer greater than zero}. In the case of temperatures Celsius or Fahrenheit this refers to the difference with the absolute-zero temperature. For example, at room temperature two significant digits means rounded to tens of degrees.
Round by 5 attach |disp=5  to round the output amount to the nearest 5 units. Not supported for all options.
Let Convert decide the unit to convert to skip the precision parameter (the 3rd or 4th unnamed parameter) e.g. {{convert|100|km|ft}} gives Templat:Convert/km and {{convert|100|km}} gives Templat:Convert/km.
Display input value with a fraction {{convert|3/8|in|mm|3|abbr=on}} → Templat:Convert/inTemplat:Convert/test/Aon or {{convert|11+1/4|in|cm|2|abbr=on}} → Templat:Convert/inTemplat:Convert/test/Aon

For negative amounts, use two minus signs (hyphens): -11-1/4.

Generate a hidden sort key for use with a sortable table attach |sortable=on to generate a hidden sort key so that sortable tables will sort correctly. This uses Templat:Tp to generate a sort key from the first numeric value. It ignores any additional values, ie, if you use 6|ft|2|in as the value, it will only use the 6 for the sort key. This will cause numeric values to sort in numeric order, ie: 5, 10, 15 instead of 10, 15, 5.

Parameters still under construction

sunting
Parameters still under construction. May not work in all situations
disp=5[note 1] The output will be rounded to the nearest 5 units. Might not work when linking unit names.
disp=tablecen[note 1] Similar to disp=table except that the values with be centered within the column. See the tables at La Nouvelle branch, BM-21 Grad for in use examples.
disp=comma[note 1] The two values will be separated by a comma, for situations where the first value is already within parentheses. See the Geography tables on Labrador for an example.
abbr=in Abbreviates only the input unit.
abbr=out Abbreviates only the output unit.
abbr=comma[note 1] "Abbreviates" (removes) commas. For ranges, using abbr=comma conflicts with internal options, so instead, append "nocomma" to a range-word: tonocomma, bynocomma, andnocomma, -nocomma & xnocomma.
disp=br This separates input and output units with a forced line break. This can be useful in tables with limited horizontal space.
disp=sqbr Shows square brackets "[ ]" instead of parentheses "( )" in output. Example: 55 miles [89 km]. This option can be used in direct quotes, to show conversions in editorial brackets. See: attach |disp=x|[|], above, as another way of showing brackets "[ ]".
  1. 1,0 1,1 1,2 1,3 This is a limited, temporary option, until an alternative can be implemented.

Rounding

sunting

Convert supports four types of rounding:

Rounding to a given precision
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 power of Templat:Frac 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.
Rounding to a given number of significant figures
Specify the desired number of significant figures using |sigfig={some integer greater than zero} as noted above.
Default rounding
If neither the desired precision nor the desired number of significant figures is specified, the conversion will be rounded either to precision comparable 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 figures, whichever is more precise. An exception to this is temperature, wherein the conversion will be rounded either to 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.
Examples of default rounding
Input Displays as Note
{{convert|550|ft|m|0}} Templat:Convert/ft Approximate value is 167.64 m
{{convert|550|ft|m}} Templat:Convert/ft Rounds to 170, when approximate value is 167.64 m
{{convert|500|ft|m|0}} Templat:Convert/ft Approximate value is 152.4 m
{{convert|500|ft|m}} Templat:Convert/ft Rounds to 150, when approximate value is 152.4 m

Units supported

sunting

Examples

sunting

See also

sunting
  • {{Convinfobox}} for use in infoboxes
  • {{Bbl to t}} for converting barrel of oil to tonnes
  • {{CwtQtrLb to kg}} for converting long hundred weights, quarters and pounds into kilograms
  • {{Decdeg}} for converting degrees, minutes and seconds to decimal degrees
  • {{HMS2Deg}} for converting hour angles, given in hours, minutes and seconds, to decimal degrees
  • {{Miles-chains}} for converting miles and chains to kilometres linking "chains"
  • {{Pop density}} for converting a population and area to a density
  • {{Inflation}} for calculating inflation of Consumer Price Index related prices
  • {{Metricate}}
  • {{RailGauge}} for converting rail (track) gauges
  • {{Convert/scale}} with custom formula for converting any linearly related units
  • Bug 235: Auto unit conversion