{
    "name": "Hooke’s Law Calculator",
    "url": "https://calculators.geekmidst.com/calculators/hookes-law-calculator",
    "markdown": "https://calculators.geekmidst.com/calculators/hookes-law-calculator.md",
    "category": "Science & engineering",
    "description": "Find a spring’s constant from a load and its stretch, or the force or extension from the other two, with the elastic energy stored in the spring.",
    "summary": "Within its elastic range a spring stretches in proportion to the force on it: F = k x. Any two of force, spring constant and extension give the third.",
    "also_called": [
        "Spring constant calculator",
        "Spring rate calculator",
        "F = kx calculator"
    ],
    "applies_to": "Worldwide",
    "last_updated": "2026-10-29",
    "computation": "Results are computed in the visitor’s browser on the HTML page. This API describes the calculator; it does not compute results.",
    "inputs": [
        {
            "name": "solve",
            "label": "Solve for",
            "type": "segmented",
            "default": "stiffness",
            "options": {
                "stiffness": "Spring constant",
                "force": "Force",
                "extension": "Extension"
            }
        },
        {
            "name": "force",
            "label": "Force on the spring",
            "type": "number",
            "default": "50",
            "shown_when": {
                "solve": [
                    "stiffness",
                    "extension"
                ]
            }
        },
        {
            "name": "force_unit",
            "label": "Force unit",
            "type": "select",
            "default": "n",
            "options": {
                "n": "newtons (N)",
                "kn": "kilonewtons (kN)",
                "lbf": "pounds-force (lbf)",
                "kgf": "kilograms-force (kgf)"
            }
        },
        {
            "name": "extension",
            "label": "Extension or compression",
            "type": "number",
            "default": "25",
            "shown_when": {
                "solve": [
                    "stiffness",
                    "force"
                ]
            }
        },
        {
            "name": "extension_unit",
            "label": "Extension unit",
            "type": "select",
            "default": "mm",
            "options": {
                "m": "metres (m)",
                "cm": "centimetres (cm)",
                "mm": "millimetres (mm)",
                "km": "kilometres (km)",
                "ft": "feet (ft)",
                "in": "inches (in)",
                "mi": "miles (mi)"
            }
        },
        {
            "name": "stiffness",
            "label": "Spring constant (k)",
            "type": "number",
            "default": "2000",
            "shown_when": {
                "solve": [
                    "force",
                    "extension"
                ]
            }
        },
        {
            "name": "stiffness_unit",
            "label": "Spring constant unit",
            "type": "select",
            "default": "nm",
            "options": {
                "nm": "N/m",
                "nmm": "N/mm",
                "lbfin": "lbf/in"
            }
        }
    ],
    "outputs": [
        {
            "key": "answer",
            "label": "Result",
            "format": "text"
        },
        {
            "key": "stiffness_nm",
            "label": "Spring constant",
            "format": "number"
        },
        {
            "key": "stiffness_lbfin",
            "label": "Spring rate",
            "format": "number"
        },
        {
            "key": "force_n",
            "label": "Force",
            "format": "number"
        },
        {
            "key": "extension_mm",
            "label": "Extension",
            "format": "number"
        },
        {
            "key": "energy_j",
            "label": "Elastic energy stored (½ k x²)",
            "format": "number"
        }
    ],
    "formula": {
        "text": "F = k x;  k = F ÷ x;  x = F ÷ k;  E = ½ k x²",
        "variables": {
            "F": "force in N",
            "k": "spring constant in N/m (1 lbf/in = 175.127 N/m)",
            "x": "extension or compression from the free length in m",
            "E": "elastic potential energy in J"
        }
    },
    "worked_example": {
        "inputs": {
            "solve": "stiffness",
            "force": "50",
            "force_unit": "n",
            "extension": "25",
            "extension_unit": "mm",
            "stiffness": "2000",
            "stiffness_unit": "nm"
        },
        "steps": [
            "x = 25 mm = 0.025 m.",
            "k = 50 ÷ 0.025 = 2,000 N/m.",
            "E = ½ × 2,000 × 0.025² = 0.625 J."
        ],
        "result": "A spring that stretches 25 mm under 50 N has a constant of 2,000 N/m (about 11.4 lbf/in) and stores 0.625 J."
    },
    "interpretation": "Measure k by hanging known weights and recording the stretch; the slope of force against extension is k. If the points stop lying on a straight line, the spring has passed its elastic limit.",
    "assumptions": [
        "Linear elastic behaviour, measured from the spring’s free (unloaded) length."
    ],
    "limitations": [
        "Not valid beyond the elastic limit, for progressive-rate springs or for coils that touch (coil bind)."
    ],
    "rules": null,
    "faqs": [
        {
            "question": "What happens to k for springs in series or parallel?",
            "answer": "In parallel the constants add (k = k₁ + k₂). In series the reciprocals add (1/k = 1/k₁ + 1/k₂), so the combination is softer."
        },
        {
            "question": "Why is the stored energy ½ k x² and not k x²?",
            "answer": "The force rises from zero to k x as the spring stretches, so the average force is half the final force."
        }
    ],
    "sources": [
        {
            "title": "BIPM: The International System of Units (SI)",
            "url": "https://www.bipm.org/"
        }
    ],
    "related": [
        {
            "name": "Simple Harmonic Motion Period Calculator",
            "url": "https://calculators.geekmidst.com/calculators/spring-mass-period-calculator"
        },
        {
            "name": "Potential Energy Calculator",
            "url": "https://calculators.geekmidst.com/calculators/potential-energy-calculator"
        },
        {
            "name": "Force Calculator (F = ma)",
            "url": "https://calculators.geekmidst.com/calculators/force-mass-acceleration-calculator"
        }
    ],
    "disclaimer": null,
    "publisher": "GM¹X CalcVerse"
}