Post Hole Concrete Calculator — Bags per Post

By BuildCalcs · Updated

Setting posts? Enter your hole size, post size, and number of posts to get the bags of concrete needed — per hole and in total. The post itself displaces concrete, so it is subtracted.

About 3× the post width is a good rule.

Total bags needed30 bags
Bags per post3 bags
Concrete per hole0.92 cubic feet
Total concrete0.34 cubic yards

How to use this calculator

  1. Enter the number of posts and the hole diameter and depth.
  2. A good hole is about 3× the post width across and one-third to one-half the above-ground post height deep.
  3. Pick the post size so its volume is subtracted; choose "Round/metal" to ignore.
  4. Fast-setting concrete can be poured dry into the hole and soaked — handy for fence posts.

The formula

Each hole is a cylinder; the post fills part of it, and concrete fills the rest.

Hole volume (cubic feet) = π × (diameter ÷ 2 ÷ 12)² × depth. Post volume = (post width ÷ 12)² × depth.

Concrete per hole = hole volume − post volume. Bags = that ÷ bag yield, rounded up, then multiplied by the number of posts.

Worked example

Ten 4×4 posts, 10 in holes, 2 ft deep, 60 lb bags.

  1. Hole = π × (10 ÷ 24)² × 2 = 1.09 cu ft
  2. Post = (3.5 ÷ 12)² × 2 = 0.17 cu ft
  3. Per hole = 1.09 − 0.17 = 0.92 cu ft → 0.92 ÷ 0.45 = 3 bags
  4. Total = 3 × 10 = 30 bags

Ten 4×4 posts in 10 in × 2 ft holes need about 3 bags of 60 lb concrete each — 30 bags total.

Frequently asked questions

How many bags of concrete per fence post?

For a 4×4 post in a 10 in wide, 2 ft deep hole, plan on about 3 bags of 60 lb (or 2 bags of 80 lb) concrete per post after subtracting the post itself.

How deep should a fence post hole be?

Bury about one-third of the post and at least below the frost line. For a 6 ft fence that usually means a 2–2.5 ft deep hole, deeper in cold climates.

Can I use fast-setting concrete dry?

Yes. For fence posts you can pour fast-setting mix into the hole dry, then add water per the bag — no mixing required. It sets in 20–40 minutes.