{
  "slug": "fence",
  "title": "Fence Calculator",
  "heading": "Fence Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/fence",
  "summary": "Posts, rails, pickets, and cost per linear foot.",
  "description": "Post spacing drives everything. Eight feet on centre is the norm for wood privacy fence; shorter spans cost more in posts but hold up better in wind and clay soil.",
  "formula": "Posts = (Length ÷ Spacing) + 1. Pickets = Length ÷ Picket width, plus gap.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=fence",
  "inputs": [
    {
      "id": "length",
      "label": "Fence length",
      "kind": "number",
      "hint": null,
      "default": 150,
      "unit": "ft",
      "min": 0,
      "max": null
    },
    {
      "id": "spacing",
      "label": "Post spacing",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "ft",
      "min": 4,
      "max": 12
    },
    {
      "id": "height",
      "label": "Fence height",
      "kind": "number",
      "hint": null,
      "default": 6,
      "unit": "ft",
      "min": 3,
      "max": 10
    },
    {
      "id": "picketWidth",
      "label": "Picket width",
      "kind": "number",
      "hint": null,
      "default": 5.5,
      "unit": "in",
      "min": 2,
      "max": null
    },
    {
      "id": "postPrice",
      "label": "Price per post",
      "kind": "number",
      "hint": null,
      "default": 18,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "picketPrice",
      "label": "Price per picket",
      "kind": "number",
      "hint": null,
      "default": 4.2,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "labor",
      "label": "Labour",
      "kind": "number",
      "hint": null,
      "default": 18,
      "unit": "$/linear ft",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "total",
      "label": "Total fence cost",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "perFoot",
      "label": "Cost per linear foot",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "posts",
      "label": "Posts",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "pickets",
      "label": "Pickets",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "rails",
      "label": "Rails",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "material",
      "label": "Material",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "labor",
      "label": "Labour",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Fence length: 150 ft",
      "Post spacing: 8 ft",
      "Fence height: 6 ft",
      "Picket width: 5.5 in",
      "Price per post: 18 $",
      "Price per picket: 4.2 $",
      "Labour: 18 $/linear ft"
    ],
    "outputs": [
      "Total fence cost: $4,950.60",
      "Cost per linear foot: $33.00",
      "Posts: 20",
      "Pickets: 328",
      "Rails: 57",
      "Material: $2,250.60",
      "Labour: $2,700.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter fence length (ft).",
      "Enter post spacing (ft).",
      "Enter fence height (ft).",
      "Enter picket width (in).",
      "Enter price per post ($).",
      "Enter price per picket ($).",
      "Enter labour ($/linear ft).",
      "Read your total fence cost on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "length": 90,
        "spacing": 4.8,
        "height": 6,
        "picketWidth": 3.3,
        "postPrice": 11,
        "picketPrice": 2.52,
        "labor": 11
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "length": 150,
        "spacing": 8,
        "height": 6,
        "picketWidth": 5.5,
        "postPrice": 18,
        "picketPrice": 4.2,
        "labor": 18
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "length": 240,
        "spacing": 12,
        "height": 6,
        "picketWidth": 8.8,
        "postPrice": 29,
        "picketPrice": 6.720000000000001,
        "labor": 29
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "How does the fence calculator work?",
      "a": "Post spacing drives everything. Eight feet on centre is the norm for wood privacy fence; shorter spans cost more in posts but hold up better in wind and clay soil. The underlying maths is: Posts = (Length ÷ Spacing) + 1. Pickets = Length ÷ Picket width, plus gap."
    },
    {
      "q": "What do I need to enter?",
      "a": "7 values: fence length, post spacing, fence height, picket width, price per post, price per picket, and labour. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the total fence cost result mean?",
      "a": "It is returned as a money amount in US dollars and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Estimates assume standard, average conditions — local rules, pricing, and materials vary."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone doing everyday planning maths — a quick estimate that would otherwise need four browser tabs and a calculator app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/deck",
    "https://www.revenuelab.fyi/toolbox/lumber",
    "https://www.revenuelab.fyi/toolbox/concrete-footing"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Fence Calculator (https://www.revenuelab.fyi/toolbox/fence)"
}