{
  "id": "dunk",
  "version": "374b55ebf096",
  "status": "published",
  "name": "Dunk Calculator",
  "question": "Can I dunk a basketball?",
  "summary": "Computes the vertical jump you need to dunk a basketball from your standing reach, the rim height and how far above the rim your hand must reach, and says whether your vertical jump is enough.",
  "category": "sports",
  "subcategory": "fitness",
  "url": "https://www.acalculator.org/sports/dunk-calculator",
  "markdown": "https://www.acalculator.org/sports/dunk-calculator.md",
  "kind": "function",
  "method": "vertical jump needed = rim height + reach above the rim − standing reach (0 if negative); take-off speed = √(2 × g × jump); hang time = 2 × √(2 × jump ÷ g), g = 9.80665 m/s².",
  "assumptions": [
    "The reach above the rim is how high over the rim your fingertips must get to push the ball down through it. 6 inches is a common rule of thumb for a one-hand dunk; people with small hands, or who dunk with two hands, need more. Change it to suit you.",
    "Standing reach and vertical jump are measured as on a vertical jump test: flat-footed reach with one arm, then the extra height touched at the top of a jump.",
    "Take-off speed and hang time use projectile motion with no air resistance and standard gravity, g = 9.80665 m/s².",
    "Lengths are added and subtracted exactly as typed; values are rounded only for display."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "reach": {
        "title": "Standing reach",
        "description": "How high you can touch standing flat-footed with one arm stretched straight up.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0.5,
        "maximum": 3.5
      },
      "jump": {
        "title": "Your vertical jump",
        "description": "How much higher you can touch at the top of a jump than your standing reach.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0,
        "maximum": 2
      },
      "rim": {
        "title": "Rim height",
        "description": "The height of the top of the rim above the floor: 10 ft on a regulation hoop.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 1,
        "maximum": 4
      },
      "over": {
        "title": "Reach above the rim",
        "description": "How far above the rim your hand must reach to put the ball down through it.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "length",
        "minimum": 0,
        "maximum": 0.6
      }
    }
  },
  "outputs": {
    "needed": {
      "label": "Vertical jump needed (in)",
      "description": "Rim height + reach above the rim − standing reach, in inches, or 0 if you reach that high standing.",
      "format": "number"
    },
    "neededCm": {
      "label": "Vertical jump needed (cm)",
      "description": "The vertical jump needed, in centimetres.",
      "format": "number"
    },
    "dunk": {
      "label": "Can you dunk?",
      "description": "Yes when your vertical jump is at least the vertical jump needed.",
      "format": "boolean"
    },
    "margin": {
      "label": "Your jump minus the jump needed",
      "description": "Your vertical jump − the vertical jump needed, in inches; below 0, how much more you need to jump.",
      "format": "number"
    },
    "marginCm": {
      "label": "Your jump minus the jump needed (cm)",
      "description": "The same difference, in centimetres.",
      "format": "number"
    },
    "top": {
      "label": "Your reach at the top of the jump",
      "description": "Standing reach + your vertical jump, in inches.",
      "format": "number"
    },
    "topCm": {
      "label": "Your reach at the top of the jump (cm)",
      "description": "The same reach, in centimetres.",
      "format": "number"
    },
    "speed": {
      "label": "Take-off speed needed",
      "description": "The upward speed at take-off that reaches the vertical jump needed: √(2 × g × jump needed).",
      "format": "quantity",
      "unit": "mph"
    },
    "hang": {
      "label": "Hang time of that jump",
      "description": "Time in the air for the vertical jump needed, up and down: 2 × √(2 × jump needed ÷ g).",
      "format": "quantity",
      "unit": "s"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "reach": 2.4384,
      "jump": 0.6604,
      "rim": 3.048,
      "over": 0.15239999999999998
    },
    "outputs": {
      "needed": 30,
      "neededCm": 76.2,
      "dunk": false,
      "margin": -4,
      "marginCm": -10.16,
      "top": 122,
      "topCm": 309.88,
      "speed": 3.865919631859928,
      "hang": 0.7884281853354465
    },
    "text": "With a standing reach of 96 in, you need a vertical jump of 30 in (76.2 cm) to dunk on a 120 in rim."
  },
  "examples": [
    {
      "given": {
        "reach": 2.4384,
        "jump": 0.6604,
        "rim": 3.048,
        "over": 0.15239999999999998
      },
      "expect": {
        "needed": 30,
        "neededCm": 76.2,
        "dunk": false,
        "margin": -4,
        "marginCm": -10.16,
        "top": 122,
        "topCm": 309.88,
        "speed": 3.865919631859928,
        "hang": 0.7884281853354465
      },
      "source": "NBA Official Rule No. 1, Section II (the rim is 10 feet above the floor), https://official.nba.com/rule-no-1-court-dimensions-equipment/; hand calculation in content.mdx: 120 + 6 − 96 = 30 in; √(2 × 9.80665 × 0.762) m/s"
    },
    {
      "given": {
        "reach": 2.286,
        "rim": 3.048,
        "over": 0.15239999999999998
      },
      "expect": {
        "needed": 36,
        "neededCm": 91.44
      },
      "source": "hand calculation in content.mdx: 120 + 6 − 90 = 36 in (rim height from NBA Official Rule No. 1, https://official.nba.com/rule-no-1-court-dimensions-equipment/)"
    },
    {
      "given": {
        "reach": 2.7,
        "jump": 0.6,
        "rim": 3.05,
        "over": 0.15
      },
      "expect": {
        "needed": 19.68503937007874,
        "neededCm": 50,
        "dunk": true,
        "margin": 3.937007874015748,
        "marginCm": 10,
        "topCm": 330,
        "speed": 3.1315571206669692,
        "hang": 0.6386599135621175
      },
      "source": "FIBA Official Basketball Rules 2024, Basketball Equipment (the ring is 3,050 mm above the floor); hand calculation in content.mdx: 3.05 + 0.15 − 2.70 = 0.50 m"
    },
    {
      "given": {
        "reach": 2.5,
        "jump": 0,
        "rim": 2.1336,
        "over": 0.1524
      },
      "expect": {
        "needed": 0,
        "neededCm": 0,
        "dunk": true,
        "margin": 0,
        "speed": 0,
        "hang": 0
      },
      "source": "hand calculation in content.mdx: 2.1336 + 0.1524 − 2.5 < 0, so no jump is needed"
    }
  ],
  "sources": [
    "NBA Official Rules, Rule No. 1, Section II, Equipment (the upper edge of the basket ring is 10 feet above the floor). https://official.nba.com/rule-no-1-court-dimensions-equipment/",
    "FIBA Official Basketball Rules, Basketball Equipment (the upper edge of the ring is 3,050 mm above the floor). https://www.fiba.basketball/documents",
    "NIST, standard acceleration of gravity, g = 9.80665 m/s² (exact). https://physics.nist.gov/cgi-bin/cuu/Value?gn",
    "OpenStax, College Physics 2e, §2.7 Falling Objects (v² = 2gh for a vertical launch). https://openstax.org/books/college-physics-2e/pages/2-7-falling-objects"
  ],
  "related": [
    "one-rep-max",
    "vo2-max",
    "pace"
  ],
  "changelog": [
    {
      "date": "2026-09-30",
      "note": "Metric heads the result with the jump needed in cm and names cm first in the answer."
    }
  ]
}
