{
  "id": "point-buy",
  "version": "a3776d9633ec",
  "status": "published",
  "name": "Point Buy Calculator",
  "question": "What do my point buy scores cost?",
  "summary": "Adds up the point-buy cost of six D&D 5e ability scores from 8 to 15 against a 27-point budget, and gives each final score and modifier after bonuses.",
  "category": "game",
  "subcategory": "tabletop",
  "url": "https://www.acalculator.org/game/point-buy-calculator",
  "markdown": "https://www.acalculator.org/game/point-buy-calculator.md",
  "kind": "function",
  "method": "Points spent = sum of the costs (8: 0, 9: 1, 10: 2, 11: 3, 12: 4, 13: 5, 14: 7, 15: 9); points left = budget − spent; modifier = floor((final score − 10) ÷ 2).",
  "assumptions": [
    "Scores are bought from 8 to 15 before bonuses, as in the D&D 5e point-buy rules (27 points).",
    "Bonuses are added after buying, so a final score can be above 15."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "str": {
        "title": "Strength",
        "description": "The Strength score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "dex": {
        "title": "Dexterity",
        "description": "The Dexterity score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "con": {
        "title": "Constitution",
        "description": "The Constitution score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "int": {
        "title": "Intelligence",
        "description": "The Intelligence score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "wis": {
        "title": "Wisdom",
        "description": "The Wisdom score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "cha": {
        "title": "Charisma",
        "description": "The Charisma score you buy, from 8 to 15, before bonuses.",
        "type": "integer",
        "minimum": 8,
        "maximum": 15
      },
      "budget": {
        "title": "Points to spend",
        "description": "The point budget: 27 in the rules; some tables use another number.",
        "type": "integer",
        "minimum": 0,
        "maximum": 54
      },
      "strBonus": {
        "title": "Strength bonus",
        "description": "Any increase to Strength from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "dexBonus": {
        "title": "Dexterity bonus",
        "description": "Any increase to Dexterity from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "conBonus": {
        "title": "Constitution bonus",
        "description": "Any increase to Constitution from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "intBonus": {
        "title": "Intelligence bonus",
        "description": "Any increase to Intelligence from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "wisBonus": {
        "title": "Wisdom bonus",
        "description": "Any increase to Wisdom from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      },
      "chaBonus": {
        "title": "Charisma bonus",
        "description": "Any increase to Charisma from your background, species or other rules (0 if none).",
        "type": "integer",
        "minimum": 0,
        "maximum": 3
      }
    }
  },
  "outputs": {
    "remaining": {
      "label": "Points left",
      "description": "The budget minus the points spent; below 0 means over budget.",
      "format": "integer"
    },
    "budgetText": {
      "label": "Budget",
      "description": "Points left, every point spent, or how far over the budget the scores are.",
      "format": "text"
    },
    "spent": {
      "label": "Points spent",
      "description": "The point cost of the six bought scores added up.",
      "format": "integer"
    },
    "strFinal": {
      "label": "Strength",
      "description": "The final Strength score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    },
    "dexFinal": {
      "label": "Dexterity",
      "description": "The final Dexterity score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    },
    "conFinal": {
      "label": "Constitution",
      "description": "The final Constitution score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    },
    "intFinal": {
      "label": "Intelligence",
      "description": "The final Intelligence score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    },
    "wisFinal": {
      "label": "Wisdom",
      "description": "The final Wisdom score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    },
    "chaFinal": {
      "label": "Charisma",
      "description": "The final Charisma score (bought score + bonus) and its modifier, floor((score − 10) ÷ 2).",
      "format": "text"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "str": 15,
      "dex": 14,
      "con": 13,
      "int": 12,
      "wis": 10,
      "cha": 8,
      "budget": 27,
      "strBonus": 0,
      "dexBonus": 0,
      "conBonus": 0,
      "intBonus": 0,
      "wisBonus": 0,
      "chaBonus": 0
    },
    "outputs": {
      "remaining": 0,
      "budgetText": "every point of the 27-point budget spent",
      "spent": 27,
      "strFinal": "15 (+2)",
      "dexFinal": "14 (+2)",
      "conFinal": "13 (+1)",
      "intFinal": "12 (+1)",
      "wisFinal": "10 (+0)",
      "chaFinal": "8 (-1)"
    },
    "text": "These six scores cost 27 points: every point of the 27-point budget spent."
  },
  "examples": [
    {
      "given": {
        "str": 15,
        "dex": 14,
        "con": 13,
        "int": 12,
        "wis": 10,
        "cha": 8,
        "budget": 27
      },
      "expect": {
        "spent": 27,
        "remaining": 0,
        "strFinal": "15 (+2)",
        "chaFinal": "8 (-1)"
      },
      "source": "SRD 5.2.1 Ability Score Point Costs: 9 + 7 + 5 + 4 + 2 + 0 = 27 (the standard array)"
    },
    {
      "given": {
        "str": 8,
        "dex": 15,
        "con": 14,
        "int": 8,
        "wis": 13,
        "cha": 10,
        "budget": 27,
        "dexBonus": 2,
        "conBonus": 1
      },
      "expect": {
        "spent": 23,
        "remaining": 4,
        "dexFinal": "17 (+3)",
        "conFinal": "15 (+2)",
        "wisFinal": "13 (+1)"
      },
      "source": "hand calculation in content.mdx: 0 + 9 + 7 + 0 + 5 + 2 = 23"
    },
    {
      "given": {
        "str": 15,
        "dex": 15,
        "con": 15,
        "int": 15,
        "wis": 8,
        "cha": 8,
        "budget": 27
      },
      "expect": {
        "spent": 36,
        "remaining": -9
      },
      "source": "hand calculation in content.mdx: 4 × 9 = 36, 9 over a 27 budget"
    },
    {
      "given": {
        "str": 13,
        "dex": 13,
        "con": 13,
        "int": 12,
        "wis": 12,
        "cha": 12,
        "budget": 27
      },
      "expect": {
        "spent": 27,
        "remaining": 0,
        "intFinal": "12 (+1)"
      },
      "source": "SRD 5.2.1 point cost table: 3 × 5 + 3 × 4 = 27"
    }
  ],
  "sources": [
    "Wizards of the Coast, System Reference Document 5.2.1 (CC BY 4.0), Character Creation, Ability Score Point Costs and Ability Scores and Modifiers: https://media.dndbeyond.com/compendium-images/srd/5.2/SRD_CC_v5.2.1.pdf",
    "5e 2024 SRD mirror, Character Creation step by step (point cost table): https://5e24srd.com/character-creation/step-by-step.html"
  ],
  "related": [
    "nether-portal",
    "vorici"
  ],
  "changelog": [
    {
      "date": "2026-09-28",
      "note": "Budget text output and sentence (\"9 over the 27-point budget\"); bonus help text (WP-70 QA)."
    }
  ]
}
