Bending stress calculator
A moment of 1000 N·m at 0.05 m from the neutral axis, in a section with a moment of inertia of 0.0001 m⁴, gives a bending stress of 500000 Pa by σ = My/I. Compare it with your allowable stress straight away. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Moment
- 1,000
- Distance
- 0.05
- Moment of inertia
- 0.0001
- Bending stress
- 500,000
Bending stress is the normal stress that develops in a beam or machine member when a bending moment curves the cross-section about a neutral axis. Under elastic Euler–Bernoulli assumptions the stress at a fiber is the product of bending moment and distance from the neutral axis divided by the second moment of area—the textbook flexure formula sigma equals M y over I. Students checking homework, mechanical and civil engineers sizing preliminary sections, makers verifying a bracket or axle, and automated design pipelines all need that number without opening a finite-element suite every time.
What bending stress means and when the flexure formula applies
A member in pure bending develops tensile stress on one side of the neutral axis and compressive stress on the other, with zero normal stress on the axis itself.
The classical elastic flexure formula states that the magnitude of normal stress at a fiber equals the absolute value of M times y divided by I, where M is the internal bending moment about the axis of interest, y is the perpendicular distance from the neutral axis to that fiber, and I is the second moment of area of the cross-section about the same axis.
Search intent clusters around bending stress calculator, flexure formula sigma My over I, beam bending stress, and section modulus checks when people already know M and c. People want a numeric stress they can compare to allowable limits, homework answer keys, or a spreadsheet model—not only a reminder that the formula exists. Keep units consistent: if M is in newton-metres, y in metres, and I in metres to the fourth, stress comes out in pascals; any other coherent system works the same way.
The formula assumes linear-elastic material, plane sections remaining plane, and small deflections; plastic hinges, residual stresses, and large-deformation geometry need a different analysis path.
Practical use, limits, pricing, and delivery channels
Use the browser tool when you want an immediate bending stress check while grading strength-of-materials homework, comparing a hand calculation of M y over I, verifying a preliminary section against an allowable stress, or teaching how stress grows linearly with distance from the neutral axis. Results are fully deterministic: identical inputs always produce the same bending stress and the same formula and method 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. For midspan deflection under a center point load rather than stress, use the separate beam deflection calculator; that is a different search intent and a different formula.
What you can do with it
Preliminary structural and machine design
Engineers and makers estimate bending stress at extreme fibers before opening a full FEA model or selecting a catalog beam or shaft section.
FAQ
Is the bending stress calculator free?
The browser tool runs free on your device.
Does this convert units or look up section properties?
No. You supply M, y, and I in any mutually consistent units; the engine evaluates My/I only. Section tables and unit conversion remain outside this capability.
What happens if the moment of inertia is zero?
The calculation is refused with a clear error, because a zero moment of inertia would mean dividing by zero in σ = My/I. Extremely small values that cannot be solved reliably are rejected for the same reason.
Can the moment or the distance be negative?
Yes. Either value may be positive or negative, so you keep your own sagging and hogging convention and choose which side of the neutral axis you mean. The sign of M times y gives the sign of the stress.
Where in the section is bending stress largest?
At the fibers farthest from the neutral axis. Stress grows in a straight line with distance from that axis: zero on the axis itself, tension on one side and compression on the other.
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/sci/bending-stress \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"moment":1000,"distance":0.05,"moment_of_inertia":0.0001}'const res = await fetch("https://api.kit.forhosting.com/sci/bending-stress", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"moment": 1000,
"distance": 0.05,
"moment_of_inertia": 0.0001
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sci/bending-stress",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"moment": 1000,
"distance": 0.05,
"moment_of_inertia": 0.0001
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sci/bending-stress", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"moment":1000,"distance":0.05,"moment_of_inertia":0.0001}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"moment":1000,"distance":0.05,"moment_of_inertia":0.0001}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sci/bending-stress", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"moment": 1000,
"distance": 0.05,
"moment_of_inertia": 0.0001
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sci.bending_stress",
"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 capability takes moment, distance, and moment of inertia as finite numbers, rejects zero inertia with a clear invalid_input error, and returns bending stress plus echoed inputs and formula labels as structured JSON.
What bending stress means and when the flexure formula applies
Delivering bending_stress, moment, distance, moment_of_inertia, formula, and method as JSON makes the result easy to paste into notes, pin in automated tests, or reuse across languages without reimplementing the arithmetic.
How this calculator validates input and applies σ = My/I
Moment and distance may be positive or negative so hogging versus sagging conventions and fiber side above or below the axis stay under the caller’s control; the product M times y carries the sign of the resulting normal stress. Extremely small inertia magnitudes that would not solve stably on floating-point hardware are also rejected. There is no shear-stress mode, no combined axial-plus-bending mode, no unit conversion, and no section-property lookup; this is the pure My over I evaluation only. Send a JSON body with the three required fields moment, distance, and moment_of_inertia. 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. Moment of inertia must be non-zero: zero inertia is explicitly rejected as invalid_input because it would divide by zero in the classic formula, matching the product contract for this capability. Optional aliases such as M, y, c, I, bending_moment, fiber_distance, second_moment, and inertia are accepted when documented so forms and scripts can use textbook symbols. After validation the engine computes bending stress as moment times distance divided by moment of inertia, 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 delivery channels
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 zero moment of inertia—over opaque widgets that cannot explain why a bad input was refused.
Integration use cases
Homework and exam verification
Students and graders compute σ = My/I for known moment, fiber distance, and section inertia, and get a clear invalid_input error when inertia is zero or inputs are non-finite.
Deterministic fixtures for mechanics tests
Pipelines that seed unit tests or interactive beam demos call a pure My/I oracle instead of reimplementing the flexure formula in every language.
Technical questions
How do I calculate bending stress with this tool?
Send JSON with moment (M), distance (y from the neutral axis), and moment_of_inertia (I). The response returns bending_stress equal to M times y divided by I, plus echoed inputs and formula labels.
What happens if moment of inertia is zero?
The request fails with invalid_input. Zero inertia would divide by zero in σ = My/I; validation rejects it and the request is not charged.
Can moment or distance be negative?
Yes. Sign conventions for hogging/sagging and fiber side are left to the caller; only moment_of_inertia must be non-zero.