Home › Construction & Home › Rebar Calculator
Rebar Calculator
Lays out a two-way rebar grid in a rectangular slab from the bar spacing and edge cover (bars per direction = floor((span − 2 × cover) / spacing) + 1), then reports the bar counts, run lengths, total length and weight from the bar's unit mass, the stock lengths needed when runs exceed the stock length (lap = 40 bar diameters per splice), the grid intersections to tie and an estimate of bar chairs. Planning estimate only.
When to use
You need to order reinforcing bar (metric 10–20 mm or US #3–#6) for a slab, footing pad or driveway with a single-layer grid.
Do not use when: The design requires two layers, bent bars, stirrups or a specific bar schedule from the engineer (use the schedule), or you want welded mesh (divide the area by the sheet size instead). Bar size and spacing are structural decisions, not outputs of this calculator.
Formula
bars_lengthwise = floor((W − 2c) / s) + 1 with length L − 2c; bars_widthwise = floor((L − 2c) / s) + 1 with length W − 2c; total_length = Σ bars × length; weight = total_length × kg/m (10 mm 0.617, 12 mm 0.888, 16 mm 1.578, 20 mm 2.466; #3 0.376, #4 0.668, #5 1.043, #6 1.502 lb/ft); lap = lap_multiplier × diameter; pieces per run = ceil((run − lap) / (stock − lap)); chairs = ceil(area / 0.8 m²).
Single-layer two-way grid with the first and last bars one cover distance from the edges, unit masses from the metric (0.006165 × d² kg/m) and ASTM A615 bar tables, and laps added only where a run is longer than the stock; dowels, bent bars, tie wire (about 0.3 m per intersection) and the second layer of thick slabs are not included. Planning estimate only; check quantities against the supplier's coverage figures and local code before ordering.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
slab_length | number | m or ft | yes | Slab length in metres or feet (see unit). Range: > 0, ≤ 1000 |
slab_width | number | m or ft | yes | Slab width in metres or feet. Range: > 0, ≤ 1000 |
unit | enum: m | ft | default m | Unit of the length inputs (m or ft). Lengths are reported in both units. | |
spacing_unit | enum: mm | in | default mm | Unit of spacing and edge_cover. | |
spacing | number | mm or in | no | Centre-to-centre spacing of the bars, the same in both directions; default 300 mm or 12 in. Range: > 0, ≤ 2000 |
edge_cover | number | mm or in | no | Distance from the slab edge to the end of the bars and to the first bar; default 75 mm or 3 in (concrete cast against earth). Range: ≥ 0, ≤ 500 |
bar_size | enum: 10_mm | 12_mm | 16_mm | 20_mm | no_3 | no_4 | no_5 | no_6 | default 12_mm | Metric bar diameter or US bar number, with its nominal mass per length. | |
bar_stock_length | number | m or ft | no | Length of the bars as supplied (same unit as the slab); default 6 m or 20 ft. Common: 6, 9, 12 m; 20, 30, 40, 60 ft. Range: > 0, ≤ 30 |
lap_multiplier | number | default 40 | Splice lap length as a multiple of the bar diameter; 40 diameters is a common minimum for tension laps in slabs (check the design). Range: ≥ 0, ≤ 100 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
bars_lengthwise | integer | floor((slab_width − 2 × cover) / spacing) + 1, each slab_length − 2 × cover long. | |
bars_widthwise | integer | floor((slab_length − 2 × cover) / spacing) + 1, each slab_width − 2 × cover long. | |
total_bars | integer | bars_lengthwise + bars_widthwise. | |
bar_length_lengthwise_m | number | m | slab_length − 2 × cover. |
bar_length_widthwise_m | number | m | slab_width − 2 × cover. |
total_length_m | number | m | Sum of all run lengths, before laps. |
total_length_ft | number | ft | Same in feet. |
total_weight_kg | number | kg | total_length × unit mass, before laps. |
total_weight_lb | number | lb | Same in pounds. |
lap_length_m | number | m | lap_multiplier × bar diameter. |
splices | integer | Total lap splices needed because runs exceed the stock length. | |
stock_pieces | integer | Per run, the smallest n with n × stock ≥ run + (n − 1) × lap, summed over all runs (offcuts are not reused). | |
total_length_with_laps_m | number | m | total_length + splices × lap_length. |
grid_intersections | integer | bars_lengthwise × bars_widthwise; tie every intersection or at least every second one. | |
chairs_estimate | integer | ceil(slab area / 0.8 m²), i.e. supports about 0.9 m (3 ft) apart each way. |
Example
10 × 6 m slab, 12 mm bars at 300 mm, 75 mm cover, 6 m stock, 40 d laps: {"slab_length":10,"slab_width":6,"unit":"m","spacing_unit":"mm","spacing":300,"edge_cover":75,"bar_size":"12_mm","bar_stock_length":6,"lap_multiplier":40} → {"bars_lengthwise":20,"bars_widthwise":33,"total_bars":53,"bar_length_lengthwise_m":9.85,"bar_length_widthwise_m":5.85,"total_length_m":390.05,"total_length_ft":1279.7,"total_weight_kg":346.36,"total_weight_lb":763.6,"lap_length_m":0.48,"splices":20,"stock_pieces":73,"total_length_with_laps_m":399.65,"grid_intersections":660,"chairs_estimate":75}
20 × 12 ft slab, #4 bars at 12 in, 3 in cover, 20 ft stock: {"slab_length":20,"slab_width":12,"unit":"ft","spacing_unit":"in","spacing":12,"edge_cover":3,"bar_size":"no_4","bar_stock_length":20} → {"bars_lengthwise":12,"bars_widthwise":20,"total_bars":32,"bar_length_lengthwise_m":5.944,"bar_length_widthwise_m":3.505,"total_length_ft":464,"total_length_m":141.43,"total_weight_lb":309.95,"total_weight_kg":140.59,"splices":0,"stock_pieces":32,"grid_intersections":240,"chairs_estimate":28}
GET https://tttkmbb.com/api/v1/calculate/rebar?slab_length=10&slab_width=6&unit=m&spacing_unit=mm&spacing=300&edge_cover=75&bar_size=12_mm&bar_stock_length=6&lap_multiplier=40
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/rebar(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/rebar · Markdown: https://tttkmbb.com/construction/rebar.md · JSON definition: https://tttkmbb.com/construction/rebar.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="rebar" - OpenAPI operationId:
estimate_rebar - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
Which direction is 'lengthwise'?
Bars running parallel to slab_length; they are spaced across the width, so their count comes from the width and their length from slab_length minus cover at both ends.
Why 40 bar diameters of lap?
40 d is a common minimum tension lap for deformed bars in slabs (480 mm for 12 mm bars, 20 in for #4); design codes give longer laps for high-strength steel, top bars or low-grade concrete, so use the engineer's figure when there is one.
Rebar or welded mesh?
For thin residential slabs (100–150 mm) welded mesh sheets are usually quicker; rebar grids suit thicker slabs, footings and slabs with loads. This calculator counts bars only.
Related calculators
- Concrete Slab Calculator — Concrete volume of the slab.
- Concrete Footing Calculator — Concrete for footings the bars sit in.
- Steel Weight Calculator — Weight of other steel sections.