Fence post burial depth
An 8 ft post where frost reaches 4 ft must go 4 ft deep and leaves 4 ft above ground. The hole is one third of the post or the frost line, whichever is deeper, so you dig once. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Post length
- 8
- Frost line
- 2
- Third rule depth
- 2.6666666667
- Hole depth
- 2.6666666667
- Above ground height
- 5.3333333333
- Bury ratio
- 0.3333333333
A fence post burial depth calculator tells you how deep to set a post so it stays plumb through freeze-thaw and still leaves the height you planned above grade. You enter the total post length and the local frost-line depth in the same linear unit; the engine returns the recommended hole depth and the remaining above-ground height. The hole is the larger of one-third of the post—the contractor one-third rule—and the frost line, so ice lenses cannot heave a post that was only buried to a shallow rule of thumb. Use it before you dig, not after the first windstorm leans a shallow set.
What the one-third rule and the frost line decide together
A fence post that is too shallow will lean after the first freeze-thaw cycle; a post that is buried too deep wastes lumber and leaves the fence shorter than the drawing. The industry one-third rule says the buried length should be at least one-third of the total post, so an eight-foot post sits about thirty-two inches in the ground when frost is not the limiting factor.
That ratio is a stiffness rule of thumb, not a climate rule: it keeps the lever arm of wind and rail load from overpowering a short embedment in ordinary soil. The frost line is the climate rule. Below that depth the soil does not freeze, so ice lenses cannot heave the footing even when winter is long.
If the local frost line is deeper than one-third of the post, the hole must go to the frost line instead; otherwise the frozen layer can still lift the post even though the one-third rule was satisfied. Both inputs must use the same linear unit—feet, inches, metres, or millimetres—because the engine never converts units for you.
Where a fence-post burial-depth check earns its keep
Homeowners meet this calculation when an eight-foot four-by-four is on the truck and the county frost map says thirty-six inches, or when a privacy fence drawing calls for six feet above grade and they need to know whether a standard eight-foot post is even long enough after the hole is dug.
Fence builders and small contractors use the same numbers to pick stock before they leave the yard: if frost is deeper than one-third of the stick, they order a longer post rather than discovering the shortfall after the auger is in the ground. Estimators embed the contract in take-off tools so a schedule of post lengths and a site frost line becomes a hole depth and an above-ground height without a spreadsheet full of hidden cells.
Product and education tools show learners why a frost-free site still buries a third of the post, and why a post-count calculator that spaces posts along a run is the wrong landing for this search. The tool sizes a single post only; it does not convert inches to millimetres, compute bagged concrete for the hole diameter, count posts along a run, or certify a setting against a building code. Keep site judgement for those, and treat post spacing and board counts as the separate search intents they already are.
What you can do with it
Trade stock lists and frost maps
Check whether a standard eight-foot post still clears grade after the hole is taken to frost, and order a longer stick when climate wins.
FAQ
How is fence post burial depth calculated?
Both inputs must use the same linear unit.
What happens if post length is not a positive number?
Post length must be a finite number greater than zero; zero and negative values are rejected and are not billed.
Do post length and frost line need the same unit?
Yes. Use feet, inches, metres, or millimetres consistently. The engine does not convert between units.
What if there is no frost in my climate?
The hole is then one-third of the post, which is the stiffness rule of thumb when climate does not govern.
Is an 8 foot post long enough for a 6 foot fence?
Not by the one-third rule. Burying a third of an 8 ft post leaves less than 6 ft above ground, and a frost line deeper than that third leaves even less, so order a longer post before you dig.
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/fence-post-depth \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"post_length":8,"frost_line":2}'const res = await fetch("https://api.kit.forhosting.com/build/fence-post-depth", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"post_length": 8,
"frost_line": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/fence-post-depth",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"post_length": 8,
"frost_line": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/fence-post-depth", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"post_length":8,"frost_line":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"post_length":8,"frost_line":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/fence-post-depth", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"post_length": 8,
"frost_line": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.fence_post_depth",
"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.
Limits
min_length | 1e-15 |
max_length | 1000000000000 |
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
The same deterministic arithmetic runs free in the browser and at $0.002 per successful API call. Post length must be a positive number; zero, negative, or non-finite lengths fail with invalid_input and are not billed.
What the one-third rule and the frost line decide together
This calculator therefore takes the maximum of post_length divided by three and frost_line, then subtracts that hole depth from the post to report remaining above-ground height. The response echoes the cleaned lengths, publishes third_rule_depth, hole_depth, above_ground_height, a controlling flag that tells you which rule won, the bury_ratio of hole to post, and a short formula string you can print next to a quote. Rejected cases include a missing or non-positive post length, a negative frost line, and a frost line that would bury the entire post so nothing remains above grade.
Input contract, response shape, and error behaviour
Post length must be a positive number greater than zero: that is the documented error path, and a zero or negative length is never clamped into a fake hole. Frost line must be non-negative; zero is allowed in frost-free climates, where the one-third rule alone sets the hole. An eight-unit post with a two-unit frost line is controlled by the one-third rule and leaves about five and one-third units above grade; the same post with a four-unit frost line is controlled by climate and leaves four units above grade. Failed validation is not billed. POST a JSON body with two required finite numbers in one linear unit: post_length, the total length of the stick you are setting, and frost_line, the local frost-line depth from a building department map, soil survey, or inspector. Prefer post_length with aliases length, post, total_length, and L so forms and query strings can reuse the same contract. Prefer frost_line with aliases frost_line_depth, frost, and frost_depth. Each field may arrive as a JSON number or as a numeric string; empty strings, objects, and non-finite values fail with invalid_input naming the field so a form can highlight that control. If frost_line is greater than or equal to post_length the request is rejected, because the hole would swallow the whole post and leave no above-ground height. On success the body includes the echoed post_length and frost_line, third_rule_depth as post_length divided by three, hole_depth as the maximum of that third and the frost line, above_ground_height as the remainder, bury_ratio as hole over post, controlling equal to third_rule or frost_line, and the formula string. Results are rounded to twelve decimal places so goldens, widgets, and API clients never disagree. Successful API calls use the published base of $0.002 per item.
Where a fence-post burial-depth check earns its keep
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split—free interactive exploration and a priced, identical API—matches the rest of the tier-A catalog and lets you move from a phone check on site to an automated pipeline without changing the mathematical result.
Integration use cases
DIY post setting before you dig
Convert total post length and the local frost line into hole_depth and remaining above-ground height before you auger the first hole.
Estimating software and CI fixtures
Seed deterministic hole_depth and above_ground_height values for unit tests, property checks, and automated fence take-off pipelines.
Technical questions
What does the fence post burial depth calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.