About UnitsML
UnitsML is a set of models for unambiguously encoding and identifying scientific units of measure and quantities, usable in XML and other markup languages. Developed under CalConnect TC UNITS, it enables reliable scientific data exchange across systems and disciplines.
INFO
UnitsML is under active development and its documentation may change frequently.
The UnitsML Ecosystem
UnitsML consists of interconnected components that together form a complete system for encoding, storing, and accessing scientific units:
UnitsML XML Schemas
Authoritative XML schemas for encoding scientific units of measure — SI base units, derived units, and non-SI units. Designed to be incorporated into other markup languages.
Learn more →UnitsDB
A comprehensive database of scientific units with detailed dimensionality information, unique identifiers, symbols, language-specific names, and conversion factors.
Learn more →unitsml-ruby
A Ruby gem providing programmatic access to UnitsDB, enabling developers to integrate units data into their applications.
Learn more →Vision
- A set of models for incorporating UnitsML into any markup language or data format
- Extensive repository of schemas and information on units, quantities, and prefixes
- Designed for unit information processing — validation, conversion, and manipulation
Governance
UnitsML is developed through an open standards process:
CalConnect TC UNITS
The current home of UnitsML standardization, created in 2022.
2022–presentOASIS TC UnitsML
Original standards body. TC formed in 2006, completed its mandate in 2016.
2006–2016NIST
Originator and long-term sponsor of UnitsML, through the Physics and MEL laboratories.
1998–presentHistory
A journey spanning over 25 years of standards development:
Origins at LBNL
Frank Olken and John McCarthy of Lawrence Berkeley National Laboratory lead the initial effort to encode units in XML, driven by needs expressed in the W3C XML Query Language requirements.
First publications
"Measurement Units in XML Datatypes" published by Olken and McCarthy. MatML (Materials Markup Language) at NIST references the measurement units work.
UnitsML takes shape at NIST
The "Units Markup Language" presentation at Open Forum 2003 on Metadata Registries. Work led by Bob Dragoset (NIST) with Barry Taylor, Michael McLay, Frank Olken, and Peter Murray-Rust (CML).
OASIS Technical Committee
NIST proposes standardization. The OASIS TC "UnitsML" is formed, convened by Simon Frechette (NIST). Major participants include NIST, IBM, Granta Design, NPL, and Univ. of North Florida.
OASIS TC completes work
The OASIS Technical Committee for UnitsML is closed after completing its mandate at that stage.
Revival
UnitsML work continues through collaboration between NIST and Ribose, renewing the effort for modern standards.
CalConnect TC UNITS
CalConnect creates TC UNITS to carry on the UnitsML work. Karen Olsen (NIST) and Nick Nicholas (Ribose) co-chair the technical committee.
People
UnitsML has been shaped by contributors across government, academia, and industry:
Participating Organizations
Frequently Asked Questions
General
UnitsML is a set of models for unambiguously encoding and identifying scientific units of measure and quantities. It can be used in XML and other markup languages, improving interoperability between different systems. It was developed in response to numerous requests that NIST address this issue, since NIST is responsible for interpreting the International System of Units (SI) for use in the U.S.
The TC develops and publishes a specification that enables the unambiguous representation of units of measure, expressed as XML schemas and generalizable to other formats. Out of scope: 1) the design of UnitsDB (except where it relates to the UnitsML schema), 2) generation of unit codes/symbols, and 3) related properties like uncertainty.
UnitsML may be used with any markup language or system which has data that contains units of measure — in commerce, engineering, and science. Examples include laboratory data management, geographical information systems, and commerce based on physical properties.
This standard greatly improves the ability to reliably exchange scientific data, particularly in areas where data is exchanged between different disciplines or business sectors — e.g., interpreting data from disparate sources during emergencies, or technical specifications in the manufacturing supply chain.
Integration & Usage
UnitsML is explicitly designed as a component for constructing other markup languages and information systems. Other languages can: 1) incorporate UnitsML to provide ready-made markup for units, or 2) refer to UnitsML definitions even without using UnitsML notation directly. Both approaches improve interoperability.
Use of UnitsML is completely optional. Existing systems with domain-specific markup need not convert. However, UnitsML's advantages — ready-made markup and improved interoperability — make a compelling case for new projects.
There are several ways: referencing the schema, including the schema, importing the schema, and redefining schema elements. For details, see "Improving Interoperability by Incorporating UnitsML into Markup Languages."
UnitsDB
UnitsDB is a database under development at NIST containing extensive information on scientific units of measure. Its output is available in UnitsML and HTML, with both human and Web Services interfaces.
UnitsDB outputs data in UnitsML format. The UnitsML schema is also incorporated into other markup languages for handling units of measure. They are complementary: UnitsDB provides the data, UnitsML provides the schema.
No. UnitsML schema integrates natively with UnitsDB, but can also encode units of measure within other markup languages independently.