Published as @freesewing/models, this package provides body measurements data for a range of size models used by the FreeSewing project.


Models have names like cisFemaleAdult34, cisMaleDoll30, and cisFemaleGiant150.

These names are constructed according to the 3 aspects that make up the model:

  1. Gender: cisFemale or cisMale
  2. Group: Adult, Doll, or Giant
  3. Size: a number
    • For Adult models, the size number is the neck circumference in millimeters, Example: 34 for 34 mm.
    • For Doll and Giant models, the size number is a whole number which is the percentage to scale a base model. Examples: ‘30’ for a 30% size reduction for a doll, and ‘150’ for a 150% size increase for a giant.

Available models

Available models are:

  • cisFemaleAdult sizes 28, 30, 32, 34, 36, 38, 40, 42, 44, 46
  • cisMaleAdult sizes 32, 34, 36, 38, 40, 42, 44, 46, 48, 50
  • cisFemaleDoll sizes 10, 20, 30, 40, 50, 60
  • cisMaleDoll sizes 10, 20, 30, 40, 50, 60
  • cisFemaleGiant sizes 150, 200, 250, 300
  • cisMaleGiant sizes 150, 200, 250, 300


models: Objects with key-value pairs, with measurement name keys and measurement value (in mm) values.

measurements: Array of measurement name strings.
See Measurements for a list of measurement names.

group Array of the model group name strings (adult, doll, giant).

sizes Object with key-value pairs, with genderGroup keys and values that are Arrays of size numbers available for each genderGroup.

genderGroups: Each genderGroup is an object of key-value pairs, with size keys and model values.
Available genderGroups: cisFemaleAdult, cisMaleAdult, cisFemaleDoll, cisMaleDoll, cisFemaleGiant, cisMaleGiant.

groups: Each group is an object of key-value pairs, with gender keys and genderGroup values.
Available groups: adult, doll, giant.


Shell prompt
npm install @freesewing/models


In NodeJS:

import { cisMaleAdult38 } from @freesewing/models

which will give you an object with measurement: value pairs. The example above gives you:

  ankle: 235,
  biceps: 350,
  bustFront: 560,
  bustPointToUnderbust: 60,
  bustSpan: 190,
  chesT: 1000,
  crossSeam: 870
  crossSeamFront: 410,
  crotchDepth: 340,
  heel, 360,
  head: 590,


All measurements are in mm.


These model measurement values were arbitrarily chosen by FreeSewing. They do not correspond to any existing statistical data or official size charts. You should not expect that these models will produce garments that fit the same as clothing store sizes.

To create our models, measurement values for a base cisFemale and cisMale model were first chosen. Then, for all other models their measurement values were generated from the base values using a mathematical formula which scales and adjusts the values. The mathematical formula is designed to produce approximate measurements which are realistic enough to be useful.