{
  "id": "slope-calculator",
  "version": "2.0.0",
  "name": "Slope Calculator",
  "shortName": "Slope",
  "description": "Calculate line slope from two points, or project a second point from a starting point, distance, and slope or angle.",
  "category": "Math & Statistics",
  "categorySlug": "math-statistics",
  "keywords": [
    "slope",
    "gradient",
    "rise over run",
    "line equation",
    "angle of incline",
    "two points"
  ],
  "status": "live",
  "workStatus": "pending",
  "reviewStatus": "pending",
  "migrationStatus": "migrated",
  "migratedDate": "2026-08-25",
  "engine": "native",
  "creator": null,
  "reviewer": null,
  "quality": {
    "availability": "live",
    "technicalReviewRecord": "/reviews/slope-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."
  },
  "urls": {
    "page": "/calculator/slope-calculator/",
    "definition": "/calculator/slope-calculator/definition.json",
    "schema": "/calculator/slope-calculator/schema.json",
    "llms": "/calculator/slope-calculator/llms.txt",
    "legacyDefinition": "/calculator/slope-calculator.json"
  },
  "queryExample": "https://askcalculators.com/calculator/slope-calculator/?mode=two-points&x1=0&y1=0&x2=4&y2=8",
  "queryParameters": {
    "mode": {
      "label": "Known values",
      "type": "select",
      "required": true,
      "default": "two-points"
    },
    "x1": {
      "label": "x₁",
      "type": "number",
      "required": true,
      "default": 0
    },
    "y1": {
      "label": "y₁",
      "type": "number",
      "required": true,
      "default": 0
    },
    "x2": {
      "label": "x₂",
      "type": "number",
      "required": true,
      "default": 4,
      "showWhen": {
        "field": "mode",
        "equals": "two-points"
      }
    },
    "y2": {
      "label": "y₂",
      "type": "number",
      "required": true,
      "default": 8,
      "showWhen": {
        "field": "mode",
        "equals": "two-points"
      }
    },
    "distance": {
      "label": "Distance",
      "type": "number",
      "required": true,
      "default": 5,
      "showWhen": {
        "field": "mode",
        "equals": "point-slope"
      }
    },
    "slopeInput": {
      "label": "Slope (m)",
      "type": "number",
      "required": true,
      "default": 2,
      "showWhen": {
        "field": "mode",
        "equals": "point-slope"
      }
    },
    "angleDistance": {
      "label": "Distance",
      "type": "number",
      "required": true,
      "default": 5,
      "showWhen": {
        "field": "mode",
        "equals": "point-angle"
      }
    },
    "angleInput": {
      "label": "Angle of incline",
      "type": "number",
      "required": true,
      "default": 45,
      "showWhen": {
        "field": "mode",
        "equals": "point-angle"
      }
    }
  },
  "inputs": [
    {
      "id": "mode",
      "label": "Known values",
      "type": "select",
      "required": true,
      "defaultValue": "two-points",
      "options": [
        {
          "label": "Two points",
          "value": "two-points"
        },
        {
          "label": "One point, distance, and slope",
          "value": "point-slope"
        },
        {
          "label": "One point, distance, and angle",
          "value": "point-angle"
        }
      ],
      "width": "full"
    },
    {
      "id": "x1",
      "label": "x₁",
      "type": "number",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "y1",
      "label": "y₁",
      "type": "number",
      "required": true,
      "defaultValue": 0,
      "step": 0.01,
      "width": "half"
    },
    {
      "id": "x2",
      "label": "x₂",
      "type": "number",
      "required": true,
      "defaultValue": 4,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "two-points"
      },
      "width": "half"
    },
    {
      "id": "y2",
      "label": "y₂",
      "type": "number",
      "required": true,
      "defaultValue": 8,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "two-points"
      },
      "width": "half"
    },
    {
      "id": "distance",
      "label": "Distance",
      "type": "number",
      "required": true,
      "defaultValue": 5,
      "min": 0.000001,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "point-slope"
      },
      "width": "half"
    },
    {
      "id": "slopeInput",
      "label": "Slope (m)",
      "type": "number",
      "required": true,
      "defaultValue": 2,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "point-slope"
      },
      "width": "half"
    },
    {
      "id": "angleDistance",
      "label": "Distance",
      "type": "number",
      "required": true,
      "defaultValue": 5,
      "min": 0.000001,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "point-angle"
      },
      "width": "half"
    },
    {
      "id": "angleInput",
      "label": "Angle of incline",
      "type": "number",
      "required": true,
      "defaultValue": 45,
      "step": 0.01,
      "showWhen": {
        "field": "mode",
        "equals": "point-angle"
      },
      "width": "half"
    }
  ],
  "outputs": [
    {
      "id": "slope",
      "label": "Slope (m)",
      "format": "number",
      "primary": true,
      "digits": 6
    },
    {
      "id": "angle",
      "label": "Angle of incline",
      "format": "number",
      "digits": 6,
      "suffix": "°"
    },
    {
      "id": "distanceResult",
      "label": "Distance",
      "format": "number",
      "digits": 6
    },
    {
      "id": "rise",
      "label": "Rise (Δy)",
      "format": "number",
      "digits": 6
    },
    {
      "id": "run",
      "label": "Run (Δx)",
      "format": "number",
      "digits": 6
    },
    {
      "id": "secondPoint",
      "label": "Second point",
      "format": "text"
    },
    {
      "id": "equation",
      "label": "Line equation",
      "format": "text"
    }
  ],
  "formula": {
    "expression": "m=(y₂−y₁)/(x₂−x₁)=tan(θ); with distance d, Δx=d/√(1+m²) and Δy=mΔx."
  },
  "examples": [
    {
      "label": "Reproducible default-input example (not a personal recommendation)",
      "inputs": {
        "mode": "two-points",
        "x1": 0,
        "y1": 0,
        "x2": 4,
        "y2": 8,
        "distance": 5,
        "slopeInput": 2,
        "angleDistance": 5,
        "angleInput": 45
      }
    }
  ],
  "sources": [
    {
      "label": "Calculator.net reference calculator",
      "url": "https://www.calculator.net/slope-calculator.html"
    }
  ]
}
