Quantity Formatting and Parsing
Quantity formatting ensures consistent, user-friendly display of measurements across your application, respecting unit systems and format preferences.
iTwin.js provides quantity formatting through two packages: @itwin/core-quantity for formatting and parsing operations, and @itwin/ecschema-metadata for schema-based format and unit providers. Together, they convert numeric values into formatted display strings with appropriate units, and parse user input strings back into numeric values.

Getting Started
Quantity formatting is organized into two main areas:
Learn about units, formats, and format sets - the specifications that define how quantities are displayed and persisted
Learn how to apply format definitions at runtime using providers, formatters, and parsers in your iTwin applications
Quick Links
- Units - Understanding units, phenomena, and persistence units
- Formats - Complete FormatProps reference including decimal, fractional, scientific, station, and ratio formats
- Format Sets - Application-level format persistence and overrides
- Providers - Setting up UnitsProvider and FormatsProvider for your application
- Parsing and Formatting - Using FormatterSpec and ParserSpec to format values and parse user input
- Unit Conversion - How unit conversions work during formatting and parsing operations
- QuantityFormatter Integration - Integrating with IModelApp.quantityFormatter
- Migrating from QuantityType to KindOfQuantity - Moving to schema-based formatting
- core-quantity API - Formatter, Parser, FormatterSpec, ParserSpec classes
- ecschema-metadata API - Format, SchemaUnitProvider, SchemaFormatsProvider classes
Last Updated: 02 February, 2026
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.