Provides an API for storing and manipulating physical measurements.

Supports unit conversions.

Drupal 8

Supported measurement types:

  • Area
  • Length
  • Volume
  • Weight

Provided field types:

  • Physical measurement: Stores a single measurement and its unit.
  • Physical dimensions: Stores the length/width/height measurements and their unit.

Other features:

  • Language-specific number input and formatting
  • Value objects with support for bcmath-based arithmetic.


use Drupal\physical\Weight;
use Drupal\physical\WeightUnit;

$weight = new Weight('100', WeightUnit::KILOGRAM);
$other_weight = new Weight('120', WeightUnit::KILOGRAM);
// Add the two weights together then express them in pounds.
$new_weight = $weight->add($other_weight)->convert(WeightUnit::POUND);

Drupal 7

Provided field types:

  • Physical volume: Stores a volume value with its unit of measurement.
  • Physical weight: Stores a weight value with its unit of measurement.
  • Physical dimensions: Stores values for length, width, and height with their unit of measurement.

All three field types support locking the unit of measurement on the entity add/edit form.

Supporting organizations: 

Project Information