# Fence calculator

> Fence calculator: posts, rails, pickets and bags of concrete for a straight fence run, from its length, post spacing, picket width and gap.

Interactive version: https://www.calcopenly.com/construction/fence-calculator
Subject: Construction and home calculators

A straight fence has one more post than it has sections, and sections are the length divided by the post spacing, rounded up. Rails are sections × rails per section. Pickets are the length divided by one picket width plus one gap, with a margin for spares. Concrete per post is the hole's cylinder minus the square post inside it, times the concrete depth.

The default 100 ft run with posts 8 ft apart has 13 sections, 14 posts, 26 rails and 252 pickets 3½ in wide with 1½ in gaps. Setting the posts in 10 in holes with 30 in of concrete takes 16.1 ft³, or 27 bags of 80 lb mix at Quikrete's 0.60 ft³ per bag.

For an L-shaped or enclosed fence, run the calculator once per straight side and subtract one post for each shared corner.

## Inputs

- **Fence length**
- **Post spacing**
- **Rails per section**: Two for fences up to about 4 ft, three for 6 ft privacy fences.
- **Picket width**
- **Gap between pickets**: 0 for a closed privacy fence.
- **Extra pickets**
- **Post width (actual)**: A 4 × 4 post is 3½ in square; a 6 × 6 is 5½ in.
- **Post hole diameter**: About three times the post width.
- **Concrete depth in each hole**: Quikrete: dig ⅓ to ½ of the post's above-ground height plus 6 in for a gravel base, and stop the concrete 3–4 in below ground. Enter the depth that gets concrete.
- **Concrete bag** (options: 80 lb (0.60 ft³), 60 lb (0.45 ft³), 50 lb (0.375 ft³), 40 lb (0.30 ft³), 20 kg (≈ 0.33 ft³), 25 kg (≈ 0.41 ft³), 30 kg (≈ 0.50 ft³))

## Results

- Posts (posts) — main result
- Sections
- Rails (rails)
- Pickets (pickets)
- Concrete for posts (ft³)
- Concrete for posts (L)
- Concrete bags (bags)

## Formula

$$
\text{posts} = \left\lceil \frac{L}{s} \right\rceil + 1,\quad \text{pickets} = \left\lceil \frac{L}{w_p + g}(1 + \text{extra}) \right\rceil,\quad V_{\text{post}} = \left(\pi \tfrac{D^2}{4} - a^2\right) h
$$

## Worked examples

### 100 ft run, 8 ft spacing, 3½ in pickets with 1½ in gaps

- Fence length: 100 ft
- Post spacing: 8 ft
- Rails per section: 2
- Picket width: 3.5 in
- Gap between pickets: 1.5 in
- Extra pickets: 5%
- Concrete bag: 80 lb (0.60 ft³)
- **Sections: 13**
- **Posts: 14 posts**
- **Rails: 26 rails**
- **Pickets: 252 pickets**
- **Concrete for posts: 16.11 ft³**
- **Concrete bags: 27 bags**
- Checked against: Python decimal: ⌈100/8⌉ = 13 sections, 14 posts; 1200 in ÷ 5 in = 240 × 1.05 = 252; (π·5² − 3.5²) × 30 in³ × 14 = 16.11 ft³ ÷ 0.6 = 26.9 → 27

### Edge: 80 ft divides into whole 8 ft sections

- Fence length: 80 ft
- Post spacing: 8 ft
- Rails per section: 2
- Picket width: 3.5 in
- Gap between pickets: 1.5 in
- Extra pickets: 5%
- Concrete bag: 80 lb (0.60 ft³)
- **Sections: 10**
- **Posts: 11 posts**
- **Rails: 20 rails**
- Checked against: Hand calculation: 80 ÷ 8 = 10 sections exactly, one more post than sections

### Metric 30 m run, 2.4 m spacing, three rails

- Fence length: 30 m
- Post spacing: 2.4 m
- Rails per section: 3
- Picket width: 90 mm
- Gap between pickets: 30 mm
- Extra pickets: 5%
- Post width (actual): 90 mm
- Post hole diameter: 250 mm
- Concrete depth in each hole: 600 mm
- Concrete bag: 50 lb (0.375 ft³)
- **Posts: 14 posts**
- **Rails: 39 rails**
- **Pickets: 263 pickets**
- **Concrete for posts: 344.3 L**
- **Concrete bags: 33 bags**
- Checked against: Python decimal: 12.5 → 13 sections; 30000 ÷ 120 = 250 × 1.05 = 262.5 → 263; (π·125² − 90²) × 600 mm³ × 14 = 344.3 L ÷ 0.375 ft³

### Closed privacy fence, no gap

- Fence length: 50 ft
- Post spacing: 8 ft
- Rails per section: 3
- Picket width: 5.5 in
- Gap between pickets: 0 in
- Extra pickets: 0%
- Post width (actual): 5.5 in
- Post hole diameter: 12 in
- Concrete depth in each hole: 36 in
- Concrete bag: 80 lb (0.60 ft³)
- **Posts: 8 posts**
- **Pickets: 110 pickets**
- **Concrete bags: 24 bags**
- Checked against: Python decimal: 600 in ÷ 5.5 = 109.1 → 110; (π·6² − 5.5²) × 36 × 8 posts = 13.81 ft³ ÷ 0.6 → 24

## Questions

### How many fence posts do I need?

One more than the number of sections. Divide the fence length by the post spacing and round up to get sections, then add 1: a 100 ft run at 8 ft spacing is 12.5, rounded up to 13 sections and 14 posts, with a last section of 4 ft. For a fence with corners, count each side separately and subtract one post for every shared corner.

### How deep should fence posts be set?

Quikrete's guide says to dig one third to one half of the post's above-ground height, plus 6 in for a gravel base, and to make the hole three times the post's width. A post standing 6 ft out of the ground needs a 30–42 in hole, 10½ in wide for a 3½ in 4 × 4. For load-bearing posts, Quikrete refers you to local building codes.

### How many bags of concrete do I need per fence post?

Divide the concrete in each hole by the bag's yield. A 10 in hole with 30 in of concrete around a 4 × 4 post holds 1.15 ft³. Quikrete's data sheet gives 0.60 ft³ per 80 lb bag of Concrete Mix, 0.45 ft³ per 60 lb and 0.30 ft³ per 40 lb, so that post takes 2 bags of 80 lb, 3 of 60 lb or 4 of 40 lb.

### How many pickets do I need for a fence?

Divide the fence length by one picket's width plus the gap. For 100 ft (1,200 in) of 3½ in pickets with 1½ in gaps that is 1,200 ÷ 5 = 240, or 252 with 5% extra for splits and cuts. A closed privacy fence of 5½ in boards with no gap needs 1,200 ÷ 5.5 = 218.2, so 219 boards before any extra.

### How long before a concrete fence post can take weight?

With Quikrete Concrete Mix, which is mixed with water before it goes in the hole, the data sheet says to wait 24 hours before the post is subjected to any strain. Quikrete's fast-setting concrete is poured dry into the hole, then water is added, and it sets in 20 to 40 minutes.

### How accurate is the fence calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 4 worked examples whose answers come from independent sources; for example, “100 ft run, 8 ft spacing, 3½ in pickets with 1½ in gaps” is checked against Python decimal: ⌈100/8⌉ = 13 sections, 14 posts; 1200 in ÷ 5 in = 240 × 1.05 = 252; (π·5² − 3.5²) × 30 in³ × 14 = 16.11 ft³ ÷ 0.6 = 26.9 → 27.

### Where does the method come from?

Quikrete — setting posts in concrete (hole 3× post width, depth ⅓–½ of the above-ground height plus 6 in of gravel); Quikrete Concrete Mix (No. 1101) data sheet — bag yields 40 lb 0.30, 60 lb 0.45, 80 lb 0.60 ft³.

## Sources

- [Quikrete — setting posts in concrete (hole 3× post width, depth ⅓–½ of the above-ground height plus 6 in of gravel)](https://www.quikrete.com/athome/settingposts.asp)
- [Quikrete Concrete Mix (No. 1101) data sheet — bag yields 40 lb 0.30, 60 lb 0.45, 80 lb 0.60 ft³](https://www.quikrete.com/pdfs/data_sheet-concrete%20mix%201101.pdf)
