Beam load calculator
A simply supported 4 m span under 10 kN/m carries 40 kN in total, with a 20 kN·m peak moment at midspan and 20 kN of peak shear at each support. Enter span and load to check a joist or lintel. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Length
- 4
- Load
- 10
- Max bending moment
- 20
- Max shear force
- 20
- Total load
- 40
- Formula moment
- wL^2/8
A simply supported beam that rests on two end supports and carries a uniformly distributed load along the full span develops a peak bending moment at midspan and a peak shear force at the supports. The closed-form statics results are the textbook identities maximum moment equals w L squared over eight and maximum shear equals w L over two, where w is the load intensity and L is the span. Students checking homework, floor-joist and lintel designers, and automated mechanics notebooks all need those two peak values before they compute stress or deflection.
What wL²/8 and wL/2 mean on a simply supported UDL span
A simply supported beam is a prismatic member that rests on two vertical supports, typically a pin at one end and a roller at the other, so it can develop vertical reactions but no restraining end moments. When a uniformly distributed load of intensity w acts along the entire span L, vertical equilibrium requires that the two end reactions each equal w L over two, because the total resultant W equals w times L and symmetry splits that resultant equally.
Those end reactions are also the peak shear forces: the shear diagram is a straight line that starts at plus w L over two just inside the left support, crosses zero at midspan, and reaches minus w L over two just inside the right support. The bending-moment diagram is a parabola that is zero at both supports — that is the definition of simple supports — and peaks at midspan, where shear is zero.
Evaluating the internal moment at x equals L over two produces the textbook closed form used in every strength-of-materials course: the maximum bending moment equals w times L squared divided by eight. Search intent clusters around beam load calculator, simply supported beam uniformly distributed load moment, simply supported UDL shear force, and maximum bending moment wL2/8 — people who already have intensity and span and want the two peak numbers, not a midspan deflection, not a fiber stress, and not a cantilever fixed-end moment.
Keep units consistent: if w is in newtons per metre and L is in metres, the moment comes out in newton-metres and the shear in newtons; kilonewtons per metre with metres yield kilonewton-metres and kilonewtons. The formulas assume linear-elastic Euler–Bernoulli kinematics, a prismatic simply supported span, a uniformly distributed load over the full length, and small-deflection statics with no extra midspan point load or applied couple.
How this calculator validates input and applies the two formulas
Length is the distance L between the two simple supports. Load is the uniform force per unit length w along the full span, not the total resultant and not a concentrated midspan force. Both values must be strictly positive so the geometry and load case stay physically meaningful for this product: a zero-length member is not a beam span, and a zero intensity is not a uniformly distributed load.
Negative values are rejected rather than silently flipped, because this landing reports the magnitudes of sagging midspan moment and support shear from downward UDL instead of inventing a sign-convention toggle. There is no cantilever support moment w L squared over two, no fixed-fixed end moment w L squared over twelve, no deflection five w L to the fourth over three hundred eighty-four E I, and no flexure-formula stress My over I; this is the pure simply supported full-span UDL peak moment and peak shear only.
Practical use, limits, pricing, and how this differs from wL²/2
Use the browser tool when you want an immediate midspan moment and support shear while grading strength-of-materials homework, checking a simply supported joist, lintel, or floor beam sketched under self-weight or occupancy, or teaching why the shear diagram of a uniform simply supported span is a straight line that crosses zero at midspan. Results are fully deterministic: identical inputs always produce the same maximum moment, the same maximum shear, the same total load, and the same formula and location labels.
There is no language model, no external structural analysis service, and no randomness, so the capacity is safe to pin in continuous-integration checks and reproducible course materials. This page is not the cantilever UDL moment calculator, whose fixed-end peak is w L squared over two and answers a different support condition. It is also not the fixed–fixed beam end moment, which is w L squared over twelve when both ends are clamped.
For midspan deflection of a simply supported span under a center point load, use the separate beam deflection calculator. For fiber stress once you already have a moment, use the bending-stress tool that evaluates sigma equals M y over I.
What you can do with it
Joist, lintel, and floor-beam sketches
Designers estimate the sagging midspan moment and support shear of a simply supported member under self-weight or occupancy before opening a full FEA model or selecting a catalog section.
FAQ
Why are the formulas wL²/8 and wL/2 instead of wL²/2?
wL²/8 is the midspan moment of a simply supported beam under full-span UDL, and wL/2 is the support shear. wL²/2 is the fixed-end moment of a cantilever under the same UDL. Those are different support conditions and different landings.
Does this compute deflection or bending stress?
No. This calculator returns only the peak moment M = wL²/8 and the peak shear V = wL/2, plus the resultant W = wL. Uniform simply supported UDL deflection is 5wL⁴/(384EI). Fiber stress is σ = My/I once you already have M; use the separate bending-stress tool for that.
Is the simply supported beam load calculator free?
The browser tool runs free on your device.
What units do the moment and shear come out in?
The same system you put in, as long as it is consistent. Newtons per metre with metres give newton-metres and newtons; kilonewtons per metre with metres give kilonewton-metres and kilonewtons.
What happens if the span or load is zero or negative?
The calculation is refused, because a beam needs a real span and a real load. Both values must be positive numbers; nothing is returned for a zero, a negative or a missing value.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/build/beam-load \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":4,"load":10}'const res = await fetch("https://api.kit.forhosting.com/build/beam-load", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 4,
"load": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/beam-load",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 4,
"load": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/beam-load", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":4,"load":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":4,"load":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/beam-load", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"length": 4,
"load": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.beam_load",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
This beam load calculator accepts two finite positive numbers, applies those exact formulas, and returns the maximum bending moment and the maximum shear force together with the total resultant load and stable formula labels as structured JSON. Zero or negative length or load fails with invalid_input so a bad geometry is never billed as a success.
What wL²/8 and wL/2 mean on a simply supported UDL span
This capability returns max_bending_moment, max_shear_force, load, length, total_load, formula_moment, formula_shear, configuration, moment_location, and shear_location as JSON so the result is easy to paste into notes, pin in automated tests, or reuse across languages without reimplementing the statics.
How this calculator validates input and applies the two formulas
Send a JSON body with the two required fields length and load. Every field must be a finite number or a numeric string that parses to one; missing fields, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input before any result is returned, and failed validation is not charged. Optional aliases such as L, span, beam_length, w, udl, load_intensity, and distributed_load are accepted when documented so forms and scripts can use textbook symbols. After validation the engine computes the total resultant as intensity times length, the maximum shear as intensity times length divided by two, and the maximum moment as intensity times length squared divided by eight, then rounds to a stable precision so the same input always yields the same JSON across JavaScript engines. The same pure function powers the free in-browser tool and the API path, with no network, no random seed, and no wall clock in the computation path.
Practical use, limits, pricing, and how this differs from wL²/2
Each successful request is one billable item at $0.002; failed validation does not consume balance. Choose units consistently and stay within the published magnitude bounds so intermediate products remain finite on a Worker isolate. Wire the endpoint into mechanics drills, contest answer checkers, early-stage design worksheets, or preprocessing steps where you prefer explicit domain errors—such as rejecting a zero length—over opaque widgets that cannot explain why a bad input was refused.
Integration use cases
Homework and exam verification
Students and graders compute M = wL²/8 and V = wL/2 for a known intensity and simply supported span, and get a clear invalid_input error when either value is zero or negative.
Deterministic fixtures for mechanics tests
Pipelines that seed unit tests or interactive beam demos call a pure wL²/8 and wL/2 oracle instead of reimplementing simply supported UDL statics in every language.
Technical questions
How do I calculate simply supported beam load moment and shear with this tool?
Send JSON with length (L) and load (w, the UDL intensity). The response returns max_bending_moment equal to w times L squared divided by eight, max_shear_force equal to w times L divided by two, plus the total resultant W = wL and formula labels.
What happens if length or load is zero or negative?
The request fails with invalid_input. A zero-length member or a non-positive intensity is not this load case; validation rejects it and the request is not charged.