{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/body-fat-calculator/schema.json",
  "title": "Body Fat Calculator inputs",
  "description": "Estimate body-fat percentage with the U.S. Navy circumference method and compare it with a BMI-based estimate.",
  "type": "object",
  "properties": {
    "unitSystem": {
      "title": "Units",
      "type": "string",
      "default": "metric",
      "enum": [
        "metric",
        "imperial"
      ],
      "x-optionLabels": {
        "metric": "Metric",
        "imperial": "Imperial"
      }
    },
    "sex": {
      "title": "Sex used by equation",
      "type": "string",
      "default": "male",
      "enum": [
        "male",
        "female"
      ],
      "x-optionLabels": {
        "male": "Male",
        "female": "Female"
      }
    },
    "age": {
      "title": "Age",
      "type": "number",
      "default": 30,
      "minimum": 18,
      "maximum": 100,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": "years"
    },
    "weightKg": {
      "title": "Weight",
      "type": "number",
      "default": 80,
      "minimum": 1,
      "maximum": 500,
      "x-step": 0.1,
      "x-suffix": "kg",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "metric"
      }
    },
    "heightCm": {
      "title": "Height",
      "type": "number",
      "default": 180,
      "minimum": 50,
      "maximum": 300,
      "x-step": 0.1,
      "x-suffix": "cm",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "metric"
      }
    },
    "neckCm": {
      "title": "Neck circumference",
      "type": "number",
      "default": 39,
      "minimum": 10,
      "maximum": 100,
      "x-step": 0.1,
      "x-suffix": "cm",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "metric"
      }
    },
    "waistCm": {
      "title": "Waist circumference",
      "type": "number",
      "default": 90,
      "minimum": 20,
      "maximum": 300,
      "x-step": 0.1,
      "x-suffix": "cm",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "metric"
      }
    },
    "hipCm": {
      "title": "Hip circumference (used for female equation)",
      "type": "number",
      "default": 100,
      "minimum": 20,
      "maximum": 300,
      "x-step": 0.1,
      "x-suffix": "cm",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "metric"
      }
    },
    "weightLb": {
      "title": "Weight",
      "type": "number",
      "default": 176,
      "minimum": 2,
      "maximum": 1100,
      "x-step": 0.1,
      "x-suffix": "lb",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    },
    "feet": {
      "title": "Height feet",
      "type": "number",
      "default": 5,
      "minimum": 1,
      "maximum": 9,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": "ft",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    },
    "inches": {
      "title": "Height inches",
      "type": "number",
      "default": 11,
      "minimum": 0,
      "maximum": 11.9,
      "x-step": 0.1,
      "x-suffix": "in",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    },
    "neckIn": {
      "title": "Neck circumference",
      "type": "number",
      "default": 15.4,
      "minimum": 4,
      "maximum": 40,
      "x-step": 0.1,
      "x-suffix": "in",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    },
    "waistIn": {
      "title": "Waist circumference",
      "type": "number",
      "default": 35.4,
      "minimum": 8,
      "maximum": 120,
      "x-step": 0.1,
      "x-suffix": "in",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    },
    "hipIn": {
      "title": "Hip circumference (used for female equation)",
      "type": "number",
      "default": 39.4,
      "minimum": 8,
      "maximum": 120,
      "x-step": 0.1,
      "x-suffix": "in",
      "x-showWhen": {
        "field": "unitSystem",
        "equals": "imperial"
      }
    }
  },
  "required": [
    "unitSystem",
    "sex",
    "age"
  ],
  "allOf": [
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "metric"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "weightKg"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "metric"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "heightCm"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "metric"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "neckCm"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "metric"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "waistCm"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "metric"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "hipCm"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "weightLb"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "feet"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "inches"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "neckIn"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "waistIn"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "unitSystem": {
            "const": "imperial"
          }
        },
        "required": [
          "unitSystem"
        ]
      },
      "then": {
        "required": [
          "hipIn"
        ]
      }
    }
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "2.0.0",
    "calculatorUrl": "https://askcalculators.com/calculator/body-fat-calculator/",
    "queryExample": "https://askcalculators.com/calculator/body-fat-calculator/?unitSystem=metric&sex=male&age=30&weightKg=80&heightCm=180&neckCm=39&waistCm=90&hipCm=100",
    "migrationStatus": "migrated",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "migratedDate": "2026-08-25",
    "formula": {
      "expression": "U.S. Navy circumference equations use log10 of height and sex-specific circumference combinations; BMI estimate = 1.2×BMI + 0.23×age − 10.8×male − 5.4."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/body-fat-calculator.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "2.0.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "2026-08-25",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "bodyFat": {
        "title": "Navy body-fat estimate",
        "type": "number",
        "x-format": "percent",
        "x-digits": 1,
        "x-primary": true
      },
      "category": {
        "title": "Body-fat category",
        "type": "string",
        "x-format": "text"
      },
      "bmiEstimate": {
        "title": "BMI-based estimate",
        "type": "number",
        "x-format": "percent",
        "x-digits": 1
      },
      "fatMass": {
        "title": "Estimated fat mass",
        "type": "string",
        "x-format": "text"
      },
      "leanMass": {
        "title": "Estimated lean mass",
        "type": "string",
        "x-format": "text"
      },
      "bmi": {
        "title": "BMI",
        "type": "number",
        "x-format": "number",
        "x-digits": 1
      }
    }
  }
}
