{
  "id": "sourdough",
  "version": "c8ca9fdcdb53",
  "status": "published",
  "name": "Sourdough Calculator",
  "question": "What goes in my sourdough?",
  "summary": "Works out a sourdough recipe from baker’s percentages: the flour, water, starter and salt to mix for a hydration you choose, counting the flour and water already in the starter.",
  "category": "food",
  "subcategory": "recipes",
  "url": "https://www.acalculator.org/food/sourdough-calculator",
  "markdown": "https://www.acalculator.org/food/sourdough-calculator.md",
  "kind": "function",
  "method": "Total water = hydration × total flour; starter = starter % × total flour; salt = salt % × total flour. The starter holds starter ÷ (1 + starter hydration) of flour and the rest water, so flour to add = total flour − starter flour and water to add = total water − starter water. From a dough weight D, total flour = D ÷ (1 + hydration + salt).",
  "assumptions": [
    "Every percent is of the total flour, including the flour in the starter (baker’s percentages).",
    "The starter is only flour and water, at the starter hydration you give (100% means equal weights).",
    "Weights are as mixed; water lost in baking is not modelled."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "from": {
        "title": "Start from",
        "description": "The total flour you want to use, or the dough weight you want to end with.",
        "type": "string",
        "enum": [
          "flour",
          "dough"
        ]
      },
      "f": {
        "title": "Total flour",
        "description": "All the flour in the dough, including the flour in the starter.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 0.001,
        "maximum": 1000
      },
      "d": {
        "title": "Dough weight",
        "description": "The weight of dough you want, for example for one loaf.",
        "type": [
          "number",
          "string"
        ],
        "x-quantity": "mass",
        "minimum": 0.001,
        "maximum": 1000
      },
      "h": {
        "title": "Hydration",
        "description": "Total water as a percent of total flour, counting the starter.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 200
      },
      "s": {
        "title": "Starter",
        "description": "Starter (levain) weight as a percent of total flour.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 100
      },
      "salt": {
        "title": "Salt",
        "description": "Salt as a percent of total flour.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 10
      },
      "sh": {
        "title": "Starter hydration",
        "description": "Water in the starter as a percent of the flour in it; 100% is equal weights.",
        "type": "number",
        "x-unit": "percent",
        "minimum": 0,
        "maximum": 500
      }
    }
  },
  "outputs": {
    "addFlour": {
      "label": "Flour to add",
      "description": "Total flour minus the flour in the starter.",
      "format": "quantity",
      "unit": "g"
    },
    "addWater": {
      "label": "Water to add",
      "description": "Total water minus the water in the starter.",
      "format": "quantity",
      "unit": "g"
    },
    "starterWeight": {
      "label": "Starter",
      "description": "Starter % × total flour.",
      "format": "quantity",
      "unit": "g"
    },
    "saltWeight": {
      "label": "Salt",
      "description": "Salt % × total flour.",
      "format": "quantity",
      "unit": "g"
    },
    "totalFlour": {
      "label": "Total flour",
      "description": "All the flour, including the starter’s.",
      "format": "quantity",
      "unit": "g"
    },
    "totalWater": {
      "label": "Total water",
      "description": "Hydration × total flour, including the starter’s water.",
      "format": "quantity",
      "unit": "g"
    },
    "doughWeight": {
      "label": "Dough weight",
      "description": "Total flour + total water + salt.",
      "format": "quantity",
      "unit": "g"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "from": "flour",
      "f": "500 g",
      "d": "900 g",
      "h": 70,
      "s": 20,
      "salt": 2,
      "sh": 100
    },
    "outputs": {
      "addFlour": 0.45,
      "addWater": 0.3,
      "starterWeight": 0.1,
      "saltWeight": 0.01,
      "totalFlour": 0.5,
      "totalWater": 0.35,
      "doughWeight": 0.86
    },
    "text": "Mix 450 g flour, 300 g water, 100 g starter and 10 g salt."
  },
  "examples": [
    {
      "given": {
        "from": "flour",
        "f": 0.5,
        "h": 70,
        "s": 20,
        "salt": 2,
        "sh": 100
      },
      "expect": {
        "addFlour": 0.45,
        "addWater": 0.3,
        "starterWeight": 0.1,
        "saltWeight": 0.01,
        "doughWeight": 0.86
      },
      "source": "Wikipedia, Baker percentage (each ingredient as a percent of the flour weight; the water percent is the hydration; flour weight = dough weight ÷ the sum of the percentages), https://en.wikipedia.org/wiki/Baker_percentage (retrieved 2026-10-02); hand calculation in content.mdx: starter 100 g is 50 g flour + 50 g water; 500 − 50 = 450 g flour; 350 − 50 = 300 g water"
    },
    {
      "given": {
        "from": "dough",
        "d": 0.9,
        "h": 75,
        "s": 20,
        "salt": 2,
        "sh": 100
      },
      "expect": {
        "totalFlour": 0.5084745762711864,
        "addWater": 0.3305084745762712,
        "doughWeight": 0.9
      },
      "source": "Wikipedia, Baker percentage (each ingredient as a percent of the flour weight; the water percent is the hydration; flour weight = dough weight ÷ the sum of the percentages), https://en.wikipedia.org/wiki/Baker_percentage (retrieved 2026-10-02); hand calculation in content.mdx: flour = 900 ÷ 1.77 = 508.47 g; Python 3: 0.9/1.77, 0.9/1.77*(0.75-0.1)"
    },
    {
      "given": {
        "from": "flour",
        "f": 1,
        "h": 65,
        "s": 30,
        "salt": 2.2,
        "sh": 50
      },
      "expect": {
        "addFlour": 0.8,
        "addWater": 0.55,
        "starterWeight": 0.3,
        "saltWeight": 0.022
      },
      "source": "Wikipedia, Baker percentage (each ingredient as a percent of the flour weight; the water percent is the hydration; flour weight = dough weight ÷ the sum of the percentages), https://en.wikipedia.org/wiki/Baker_percentage (retrieved 2026-10-02); hand calculation in content.mdx: 300 g starter at 50% is 200 g flour + 100 g water; 1,000 − 200 = 800 g; 650 − 100 = 550 g"
    }
  ],
  "sources": [
    "Wikipedia, Baker percentage (each ingredient as a percent of the total flour weight; the water percent is the hydration; flour weight = dough weight ÷ the formula percentage). https://en.wikipedia.org/wiki/Baker_percentage (retrieved 2026-10-02)"
  ],
  "related": [
    "pizza",
    "recipe-scaler",
    "recipe-calorie"
  ],
  "changelog": []
}
