{
  "id": "ada-ramp",
  "version": "a4acbc98c5ca",
  "status": "published",
  "name": "ADA Ramp Calculator",
  "question": "What ADA ramp slope and length?",
  "summary": "ADA ramp slope calculator: the ramp length, runs and landings for a rise at the ADA’s 1:12 maximum slope, or a check of whether your ramp meets it.",
  "category": "construction",
  "subcategory": "materials",
  "url": "https://www.acalculator.org/construction/ada-ramp-calculator",
  "markdown": "https://www.acalculator.org/construction/ada-ramp-calculator.md",
  "kind": "function",
  "method": "Run = rise × slope ratio (1:12 by default), or ratio = run ÷ rise; runs = rise ÷ most rise per run (30 in by default), rounded up; length in all = run + (runs − 1) × landing (60 in by default); a ramp meets ADA 405.2 when run ÷ rise ≥ 12.",
  "assumptions": [
    "ADA 405.2: slope not steeper than 1:12; 405.6: one run rises at most 30 in; 405.7.3: landings at least 60 in long.",
    "Lengths are measured level (plan view), as the ADA measures slope."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "find": {
        "title": "Find",
        "description": "Find the ramp length for a slope, or check the slope of a ramp you have measured.",
        "type": "string",
        "enum": [
          "length",
          "slope"
        ]
      },
      "rise": {
        "title": "Rise",
        "description": "The height from the lower level to the top: ground to door threshold.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 10
      },
      "s": {
        "title": "Slope",
        "description": "Inches of ramp length for each inch of rise. The ADA allows 1:12 at most.",
        "type": "string",
        "enum": [
          "12",
          "16",
          "20",
          "custom"
        ]
      },
      "k": {
        "title": "Slope ratio, 1 :",
        "description": "Units of ramp length for each unit of rise, such as 14 for 1:14.",
        "type": "number",
        "minimum": 1,
        "maximum": 1000
      },
      "run": {
        "title": "Ramp run",
        "description": "The level distance the sloped part covers, landings left out.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 1000
      },
      "mr": {
        "title": "Most rise per run",
        "description": "The most rise one sloped run may have before a landing. ADA: 30 in.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 10
      },
      "ld": {
        "title": "Landing length",
        "description": "The length of each level landing between runs. ADA: at least 60 in.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.001,
        "maximum": 100
      }
    }
  },
  "outputs": {
    "total": {
      "label": "Length in all",
      "description": "The sloped runs plus the landings between them, measured level.",
      "format": "quantity",
      "unit": "ft-in"
    },
    "runLength": {
      "label": "Sloped length, measured level",
      "description": "Rise × the slope ratio: the level distance of all the runs.",
      "format": "quantity",
      "unit": "ft-in"
    },
    "sloped": {
      "label": "Length along the slope",
      "description": "√(rise² + run²): the length of the ramp surface.",
      "format": "quantity",
      "unit": "ft-in"
    },
    "withEnds": {
      "label": "With top and bottom landings",
      "description": "Length in all + one landing at the top and one at the bottom.",
      "format": "quantity",
      "unit": "ft-in"
    },
    "ratioText": {
      "label": "Slope ratio",
      "description": "1 : (run ÷ rise).",
      "format": "text"
    },
    "percent": {
      "label": "Slope, percent",
      "description": "Rise ÷ run × 100.",
      "format": "number"
    },
    "angle": {
      "label": "Slope angle",
      "description": "The arctangent of rise ÷ run, in degrees.",
      "format": "number"
    },
    "runs": {
      "label": "Sloped runs",
      "description": "Rise ÷ most rise per run, rounded up.",
      "format": "integer"
    },
    "landings": {
      "label": "Landings between runs",
      "description": "Sloped runs − 1.",
      "format": "integer"
    },
    "ada": {
      "label": "ADA slope check",
      "description": "Whether the slope is 1:12 or flatter (ADA 405.2).",
      "format": "text"
    },
    "landingText": {
      "label": "Landings",
      "description": "The landings between runs, in words.",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "find": "length",
      "rise": 0.6095999999999999,
      "s": "12",
      "k": 12,
      "run": 7.315200000000001,
      "mr": 0.762,
      "ld": 1.524
    },
    "outputs": {
      "total": 7.3152,
      "runLength": 7.3152,
      "sloped": 7.340556055231782,
      "withEnds": 10.3632,
      "ratioText": "1:12",
      "percent": 8.333333333333334,
      "angle": 4.763641690726178,
      "runs": 1,
      "landings": 0,
      "ada": "meets the ADA 1:12 limit",
      "landingText": "no landing between"
    },
    "text": "The ramp takes 24 ft 0 in in all: 24 ft 0 in of slope at 1:12 (meets the ADA 1:12 limit), plus no landing between."
  },
  "examples": [
    {
      "given": {
        "find": "length",
        "rise": 0.762,
        "s": "12",
        "mr": 0.762,
        "ld": 1.524
      },
      "expect": {
        "runLength": 9.144,
        "runs": 1,
        "total": 9.144,
        "withEnds": 12.192
      },
      "source": "US Access Board, ADA Accessibility Standards, Chapter 4, 405 Ramps (405.2 slope not steeper than 1:12; 405.6 rise of a run at most 30 in; 405.7.3 landings at least 60 in long), https://www.access-board.gov/ada/#ada-405 (retrieved 2026-10-03); hand calculation in content.mdx: 30 × 12 = 360 in = 30 ft; one run; + 2 × 5 ft = 40 ft",
      "tolerance": 1e-12
    },
    {
      "given": {
        "find": "length",
        "rise": 1.8288,
        "s": "12",
        "mr": 0.762,
        "ld": 1.524
      },
      "expect": {
        "runLength": 21.945600000000002,
        "runs": 3,
        "landings": 2,
        "total": 24.9936,
        "landingText": "2 landings between"
      },
      "source": "US Access Board, ADA Accessibility Standards, Chapter 4, 405 Ramps (405.2 slope not steeper than 1:12; 405.6 rise of a run at most 30 in; 405.7.3 landings at least 60 in long), https://www.access-board.gov/ada/#ada-405 (retrieved 2026-10-03); hand calculation in content.mdx: 72 × 12 = 864 in = 72 ft; 72 ÷ 30 → 3 runs; + 2 × 5 ft = 82 ft",
      "tolerance": 1e-12
    },
    {
      "given": {
        "find": "slope",
        "rise": 0.4572,
        "run": 4.572,
        "mr": 0.762,
        "ld": 1.524
      },
      "expect": {
        "ratioText": "1:10",
        "ada": "steeper than the ADA 1:12 limit",
        "percent": 10
      },
      "source": "US Access Board, ADA Accessibility Standards, Chapter 4, 405 Ramps (405.2 slope not steeper than 1:12; 405.6 rise of a run at most 30 in; 405.7.3 landings at least 60 in long), https://www.access-board.gov/ada/#ada-405 (retrieved 2026-10-03); hand calculation in content.mdx: 180 ÷ 18 = 10, so 1:10, steeper than 1:12",
      "tolerance": 1e-12
    }
  ],
  "sources": [
    "US Access Board, ADA Accessibility Standards, Chapter 4, 405 Ramps: 405.2 slope not steeper than 1:12; 405.5 clear width at least 36 in; 405.6 rise of a run at most 30 in; 405.7.2 and 405.7.3 landings as wide as the run and at least 60 in long, retrieved 2026-10-03. https://www.access-board.gov/ada/#ada-405",
    "NIST Special Publication 811 (2008), Appendix B: 1 in = 0.0254 m and 1 ft = 0.3048 m exactly, retrieved 2026-10-03. https://www.nist.gov/pml/special-publication-811"
  ],
  "related": [
    "wheelchair-ramp",
    "stair",
    "roof-pitch"
  ],
  "changelog": []
}
