{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/surface-area-calculator/schema.json",
  "title": "Surface Area Calculator inputs",
  "description": "Calculate total and component surface areas for nine common three-dimensional shapes.",
  "type": "object",
  "properties": {
    "shape": {
      "title": "Solid",
      "type": "string",
      "default": "sphere",
      "enum": [
        "sphere",
        "cone",
        "cube",
        "cylinder",
        "box",
        "capsule",
        "spherical-cap",
        "frustum",
        "ellipsoid"
      ],
      "x-optionLabels": {
        "sphere": "Ball / sphere",
        "cone": "Cone",
        "cube": "Cube",
        "cylinder": "Cylinder",
        "box": "Rectangular tank",
        "capsule": "Capsule",
        "spherical-cap": "Spherical cap",
        "frustum": "Conical frustum",
        "ellipsoid": "Ellipsoid"
      }
    },
    "sphereRadius": {
      "title": "Sphere radius",
      "type": "number",
      "default": 5,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "sphere"
      }
    },
    "coneRadius": {
      "title": "Cone radius",
      "type": "number",
      "default": 3,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "cone"
      }
    },
    "coneHeight": {
      "title": "Cone height",
      "type": "number",
      "default": 4,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "cone"
      }
    },
    "cubeEdge": {
      "title": "Cube edge",
      "type": "number",
      "default": 5,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "cube"
      }
    },
    "cylinderRadius": {
      "title": "Cylinder radius",
      "type": "number",
      "default": 3,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "cylinder"
      }
    },
    "cylinderHeight": {
      "title": "Cylinder height",
      "type": "number",
      "default": 5,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "cylinder"
      }
    },
    "boxLength": {
      "title": "Tank length",
      "type": "number",
      "default": 10,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "box"
      }
    },
    "boxWidth": {
      "title": "Tank width",
      "type": "number",
      "default": 6,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "box"
      }
    },
    "boxHeight": {
      "title": "Tank height",
      "type": "number",
      "default": 4,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "box"
      }
    },
    "capsuleRadius": {
      "title": "Capsule radius",
      "type": "number",
      "default": 2,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "capsule"
      }
    },
    "capsuleHeight": {
      "title": "Cylinder-section height",
      "type": "number",
      "default": 6,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "capsule"
      }
    },
    "capBallRadius": {
      "title": "Ball radius",
      "type": "number",
      "default": 5,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "spherical-cap"
      }
    },
    "capHeight": {
      "title": "Cap height",
      "type": "number",
      "default": 2,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "spherical-cap"
      }
    },
    "frustumTopRadius": {
      "title": "Top radius",
      "type": "number",
      "default": 2,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "frustum"
      }
    },
    "frustumBottomRadius": {
      "title": "Bottom radius",
      "type": "number",
      "default": 4,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "frustum"
      }
    },
    "frustumHeight": {
      "title": "Frustum height",
      "type": "number",
      "default": 6,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "frustum"
      }
    },
    "ellipsoidA": {
      "title": "Ellipsoid axis a",
      "type": "number",
      "default": 3,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "ellipsoid"
      }
    },
    "ellipsoidB": {
      "title": "Ellipsoid axis b",
      "type": "number",
      "default": 4,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "ellipsoid"
      }
    },
    "ellipsoidC": {
      "title": "Ellipsoid axis c",
      "type": "number",
      "default": 5,
      "minimum": 0.000001,
      "x-step": 0.01,
      "x-showWhen": {
        "field": "shape",
        "equals": "ellipsoid"
      }
    }
  },
  "required": [
    "shape"
  ],
  "allOf": [
    {
      "if": {
        "properties": {
          "shape": {
            "const": "sphere"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "sphereRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "cone"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "coneRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "cone"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "coneHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "cube"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "cubeEdge"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "cylinder"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "cylinderRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "cylinder"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "cylinderHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "box"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "boxLength"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "box"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "boxWidth"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "box"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "boxHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "capsule"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "capsuleRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "capsule"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "capsuleHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "spherical-cap"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "capBallRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "spherical-cap"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "capHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "frustum"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "frustumTopRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "frustum"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "frustumBottomRadius"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "frustum"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "frustumHeight"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "ellipsoid"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "ellipsoidA"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "ellipsoid"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "ellipsoidB"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "shape": {
            "const": "ellipsoid"
          }
        },
        "required": [
          "shape"
        ]
      },
      "then": {
        "required": [
          "ellipsoidC"
        ]
      }
    }
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "2.0.0",
    "calculatorUrl": "https://askcalculators.com/calculator/surface-area-calculator/",
    "queryExample": "https://askcalculators.com/calculator/surface-area-calculator/?shape=sphere&sphereRadius=5",
    "migrationStatus": "migrated",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "migratedDate": "2026-08-25",
    "formula": {
      "expression": "Examples: sphere 4πr²; cone πr(r+√(r²+h²)); cylinder 2πr(r+h); box 2(lw+lh+wh)."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/surface-area-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": {
      "surfaceArea": {
        "title": "Total surface area",
        "type": "number",
        "x-format": "number",
        "x-digits": 6,
        "x-primary": true
      },
      "lateralArea": {
        "title": "Lateral or curved area",
        "type": "number",
        "x-format": "number",
        "x-digits": 6
      },
      "baseArea": {
        "title": "Base area",
        "type": "number",
        "x-format": "number",
        "x-digits": 6
      },
      "volume": {
        "title": "Volume",
        "type": "number",
        "x-format": "number",
        "x-digits": 6
      },
      "shapeName": {
        "title": "Solid",
        "type": "string",
        "x-format": "text"
      }
    }
  }
}
