{
  "title": "Post hole concrete calculator",
  "human_url": "https://happytails.ai/en/calculators/post-hole-concrete-calculator/",
  "agent_url": "https://happytails.ai/agents/en/calculators/post-hole-concrete-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/calculators/post-hole-concrete-calculator.md",
  "content": "Post hole concrete calculator\nEstimate concrete around a round or rectangular post. Subtract the embedded post volume, add allowance and calculate whole bags.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Post hole concrete calculator\nEnter the hole diameter and concrete fill depth.\nSet actual post dimensions and the length embedded in concrete.\nAdd hole count, allowance and product yield, then download the bag estimate.\nUseful next steps\nConcrete calculator\nVolume calculator\nLumber board foot calculator\nMeasure the concrete region\nEnter a circular hole diameter and the depth that will actually contain concrete. Exclude gravel, an unfilled top and other voids. This fill depth is a measurement input; the calculator does not determine a required foundation depth.\nSubtract the embedded post\nChoose a round or rectangular post and use actual measured dimensions. Embedded length means only the length inside the concrete region. It can be shorter than fill depth. For a rectangular post, the cross-section diagonal must fit within the circular hole in this centred geometric model.\nUse volume yield per bag\nAfter subtracting the post, the calculator multiplies by the number of identical holes and your allowance. Bag count rounds up using the product's volume yield. Do not enter a bag's weight as its volume. A 300 mm diameter by 900 mm fill around a 100 × 100 mm fully embedded post contains about 54.617 litres before allowance.\nKeep the estimate and its assumptions\nDownload litres, cubic metres, cubic feet, cubic yards and bags in a CSV or report. The geometry does not establish footing depth, frost protection, reinforcement, load capacity or code compliance.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Concrete calculator",
      "url": "https://happytails.ai/en/calculators/concrete-calculator/"
    },
    {
      "name": "Volume calculator",
      "url": "https://happytails.ai/en/calculators/volume-calculator/"
    },
    {
      "name": "Lumber board foot calculator",
      "url": "https://happytails.ai/en/calculators/lumber-board-foot-calculator/"
    }
  ],
  "tool": {
    "id": "post-hole-concrete-calculator",
    "category": "calculators",
    "built": true,
    "requirements": "Centred constant-section round or rectangular posts in identical cylindrical holes, up to 10,000 holes. Embedded length cannot exceed fill depth. The estimate must leave positive concrete volume. Whole bags are limited to 1 billion.",
    "implementation": {
      "fields": [
        {
          "key": "holeDiameter",
          "label": "Hole diameter",
          "value": 300,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any"
        },
        {
          "key": "holeUnit",
          "label": "Hole diameter unit",
          "value": "mm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft"
          ]
        },
        {
          "key": "fillDepth",
          "label": "Concrete fill depth",
          "value": 900,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "help": "Exclude gravel, voids and any unfilled top."
        },
        {
          "key": "depthUnit",
          "label": "Depth and embedded-length unit",
          "value": "mm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft"
          ]
        },
        {
          "key": "postShape",
          "label": "Post cross-section",
          "value": "Rectangular",
          "type": "select",
          "values": [
            "Rectangular",
            "Round",
            "None"
          ]
        },
        {
          "key": "postWidth",
          "label": "Actual post width",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "postShape": [
              "Rectangular"
            ]
          }
        },
        {
          "key": "postHeight",
          "label": "Actual post thickness",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "postShape": [
              "Rectangular"
            ]
          }
        },
        {
          "key": "postDiameter",
          "label": "Actual post diameter",
          "value": 100,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "postShape": [
              "Round"
            ]
          }
        },
        {
          "key": "postUnit",
          "label": "Post dimension unit",
          "value": "mm",
          "type": "select",
          "values": [
            "mm",
            "cm",
            "m",
            "in",
            "ft"
          ],
          "showWhen": {
            "postShape": [
              "Round",
              "Rectangular"
            ]
          }
        },
        {
          "key": "embeddedLength",
          "label": "Post length inside the concrete",
          "value": 900,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "showWhen": {
            "postShape": [
              "Round",
              "Rectangular"
            ]
          }
        },
        {
          "key": "quantity",
          "label": "Identical holes",
          "value": 1,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": 1
        },
        {
          "key": "waste",
          "label": "Extra allowance (%)",
          "value": 10,
          "type": "number",
          "min": 0,
          "max": 100,
          "step": "any"
        },
        {
          "key": "bagYield",
          "label": "Concrete yield per bag",
          "value": 20,
          "type": "number",
          "min": 0,
          "max": 1000000000,
          "step": "any",
          "help": "Use volume yield from the product label, not bag weight."
        },
        {
          "key": "yieldUnit",
          "label": "Bag yield unit",
          "value": "L",
          "type": "select",
          "values": [
            "L",
            "m³",
            "ft³",
            "yd³"
          ]
        }
      ],
      "input": false,
      "live": true,
      "presentation": "metrics",
      "note": "Subtract the embedded post volume from a cylindrical concrete fill, then apply your allowance and round up bags. This does not determine required footing depth or load capacity. Changing units keeps the entered numbers. All calculations stay on your device. These estimates do not establish structural safety or code compliance.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Post hole concrete calculator\n\n- Human page: https://happytails.ai/en/calculators/post-hole-concrete-calculator/\n- Markdown: https://happytails.ai/en/calculators/post-hole-concrete-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/calculators/post-hole-concrete-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `post-hole-concrete-calculator` |\n| Category | calculators |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSubtract the embedded post volume from a cylindrical concrete fill, then apply your allowance and round up bags. This does not determine required footing depth or load capacity. Changing units keeps the entered numbers. All calculations stay on your device. These estimates do not establish structural safety or code compliance.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `holeDiameter` | Hole diameter | number | 300 | min=0 max=1000000000 step=any |\n| `holeUnit` | Hole diameter unit | select | \"mm\" | Allowed: mm, cm, m, in, ft |\n| `fillDepth` | Concrete fill depth | number | 900 | min=0 max=1000000000 step=any |\n| `depthUnit` | Depth and embedded-length unit | select | \"mm\" | Allowed: mm, cm, m, in, ft |\n| `postShape` | Post cross-section | select | \"Rectangular\" | Allowed: Rectangular, Round, None |\n| `postWidth` | Actual post width | number | 100 | min=0 max=1000000000 step=any |\n| `postHeight` | Actual post thickness | number | 100 | min=0 max=1000000000 step=any |\n| `postDiameter` | Actual post diameter | number | 100 | min=0 max=1000000000 step=any |\n| `postUnit` | Post dimension unit | select | \"mm\" | Allowed: mm, cm, m, in, ft |\n| `embeddedLength` | Post length inside the concrete | number | 900 | min=0 max=1000000000 step=any |\n| `quantity` | Identical holes | number | 1 | min=1 max=10000 step=1 |\n| `waste` | Extra allowance (%) | number | 10 | min=0 max=100 step=any |\n| `bagYield` | Concrete yield per bag | number | 20 | min=0 max=1000000000 step=any |\n| `yieldUnit` | Bag yield unit | select | \"L\" | Allowed: L, m³, ft³, yd³ |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nCentred constant-section round or rectangular posts in identical cylindrical holes, up to 10,000 holes. Embedded length cannot exceed fill depth. The estimate must leave positive concrete volume. Whole bags are limited to 1 billion.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"post-hole-concrete-calculator\",\n  \"category\": \"calculators\",\n  \"built\": true,\n  \"requirements\": \"Centred constant-section round or rectangular posts in identical cylindrical holes, up to 10,000 holes. Embedded length cannot exceed fill depth. The estimate must leave positive concrete volume. Whole bags are limited to 1 billion.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"holeDiameter\",\n        \"label\": \"Hole diameter\",\n        \"value\": 300,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"holeUnit\",\n        \"label\": \"Hole diameter unit\",\n        \"value\": \"mm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\"\n        ]\n      },\n      {\n        \"key\": \"fillDepth\",\n        \"label\": \"Concrete fill depth\",\n        \"value\": 900,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"help\": \"Exclude gravel, voids and any unfilled top.\"\n      },\n      {\n        \"key\": \"depthUnit\",\n        \"label\": \"Depth and embedded-length unit\",\n        \"value\": \"mm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\"\n        ]\n      },\n      {\n        \"key\": \"postShape\",\n        \"label\": \"Post cross-section\",\n        \"value\": \"Rectangular\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Rectangular\",\n          \"Round\",\n          \"None\"\n        ]\n      },\n      {\n        \"key\": \"postWidth\",\n        \"label\": \"Actual post width\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"postShape\": [\n            \"Rectangular\"\n          ]\n        }\n      },\n      {\n        \"key\": \"postHeight\",\n        \"label\": \"Actual post thickness\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"postShape\": [\n            \"Rectangular\"\n          ]\n        }\n      },\n      {\n        \"key\": \"postDiameter\",\n        \"label\": \"Actual post diameter\",\n        \"value\": 100,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"postShape\": [\n            \"Round\"\n          ]\n        }\n      },\n      {\n        \"key\": \"postUnit\",\n        \"label\": \"Post dimension unit\",\n        \"value\": \"mm\",\n        \"type\": \"select\",\n        \"values\": [\n          \"mm\",\n          \"cm\",\n          \"m\",\n          \"in\",\n          \"ft\"\n        ],\n        \"showWhen\": {\n          \"postShape\": [\n            \"Round\",\n            \"Rectangular\"\n          ]\n        }\n      },\n      {\n        \"key\": \"embeddedLength\",\n        \"label\": \"Post length inside the concrete\",\n        \"value\": 900,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"showWhen\": {\n          \"postShape\": [\n            \"Round\",\n            \"Rectangular\"\n          ]\n        }\n      },\n      {\n        \"key\": \"quantity\",\n        \"label\": \"Identical holes\",\n        \"value\": 1,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": 1\n      },\n      {\n        \"key\": \"waste\",\n        \"label\": \"Extra allowance (%)\",\n        \"value\": 10,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 100,\n        \"step\": \"any\"\n      },\n      {\n        \"key\": \"bagYield\",\n        \"label\": \"Concrete yield per bag\",\n        \"value\": 20,\n        \"type\": \"number\",\n        \"min\": 0,\n        \"max\": 1000000000,\n        \"step\": \"any\",\n        \"help\": \"Use volume yield from the product label, not bag weight.\"\n      },\n      {\n        \"key\": \"yieldUnit\",\n        \"label\": \"Bag yield unit\",\n        \"value\": \"L\",\n        \"type\": \"select\",\n        \"values\": [\n          \"L\",\n          \"m³\",\n          \"ft³\",\n          \"yd³\"\n        ]\n      }\n    ],\n    \"input\": false,\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Subtract the embedded post volume from a cylindrical concrete fill, then apply your allowance and round up bags. This does not determine required footing depth or load capacity. Changing units keeps the entered numbers. All calculations stay on your device. These estimates do not establish structural safety or code compliance.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Change the input or settings to update your result. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nEstimate concrete around a round or rectangular post. Subtract the embedded post volume, add allowance and calculate whole bags.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Post hole concrete calculator\n\n1. Enter the hole diameter and concrete fill depth.\n2. Set actual post dimensions and the length embedded in concrete.\n3. Add hole count, allowance and product yield, then download the bag estimate.\n\n## Useful next steps\n\n- [Concrete calculator](https://happytails.ai/en/calculators/concrete-calculator/) ([Markdown](https://happytails.ai/en/calculators/concrete-calculator.md))\n\n- [Volume calculator](https://happytails.ai/en/calculators/volume-calculator/) ([Markdown](https://happytails.ai/en/calculators/volume-calculator.md))\n\n- [Lumber board foot calculator](https://happytails.ai/en/calculators/lumber-board-foot-calculator/) ([Markdown](https://happytails.ai/en/calculators/lumber-board-foot-calculator.md))\n\n## Measure the concrete region\n\nEnter a circular hole diameter and the depth that will actually contain concrete. Exclude gravel, an unfilled top and other voids. This fill depth is a measurement input; the calculator does not determine a required foundation depth.\n\n### Subtract the embedded post\n\nChoose a round or rectangular post and use actual measured dimensions. Embedded length means only the length inside the concrete region. It can be shorter than fill depth. For a rectangular post, the cross-section diagonal must fit within the circular hole in this centred geometric model.\n\n### Use volume yield per bag\n\nAfter subtracting the post, the calculator multiplies by the number of identical holes and your allowance. Bag count rounds up using the product's volume yield. Do not enter a bag's weight as its volume. A 300 mm diameter by 900 mm fill around a 100 × 100 mm fully embedded post contains about 54.617 litres before allowance.\n\n### Keep the estimate and its assumptions\n\nDownload litres, cubic metres, cubic feet, cubic yards and bags in a CSV or report. The geometry does not establish footing depth, frost protection, reinforcement, load capacity or code compliance.\n"
}