{
  "id": "fantasy-points",
  "version": "4de8b1f2143e",
  "status": "published",
  "name": "Fantasy Points Calculator",
  "question": "What are my fantasy points?",
  "summary": "Adds up a player’s fantasy football points from passing, rushing and receiving stats, in standard, half PPR or PPR scoring, with every league setting editable.",
  "category": "game",
  "subcategory": "fantasy-sports",
  "url": "https://www.acalculator.org/game/fantasy-points-calculator",
  "markdown": "https://www.acalculator.org/game/fantasy-points-calculator.md",
  "kind": "function",
  "method": "Points = passing yards ÷ 25 + 4 × passing TDs − 1 × interceptions + (rushing yards + receiving yards) ÷ 10 + 6 × (rushing + receiving TDs) + points per reception × receptions + 2 × 2-point conversions − 2 × fumbles lost, with the league’s own numbers when typed.",
  "assumptions": [
    "The default settings are Yahoo’s default league: half a point per reception and fractional yardage points.",
    "Standard scoring gives 0 points per reception, half PPR 0.5, PPR 1; the other settings stay the same.",
    "Whole increments give a whole point for each full increment only, rounded toward zero for negative yards.",
    "Return touchdowns, bonuses and defense or kicker points are not counted."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "fmt": {
        "title": "Scoring",
        "description": "Points per reception: standard 0, half PPR 0.5, full PPR 1.",
        "type": "string",
        "enum": [
          "standard",
          "half",
          "ppr"
        ]
      },
      "py": {
        "title": "Passing yards",
        "description": "Passing yards gained; can be negative.",
        "type": "integer",
        "minimum": -200,
        "maximum": 1000
      },
      "ptd": {
        "title": "Passing touchdowns",
        "description": "Touchdown passes thrown.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "int": {
        "title": "Interceptions thrown",
        "description": "Passes intercepted by the defense.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "ry": {
        "title": "Rushing yards",
        "description": "Rushing yards gained; can be negative.",
        "type": "integer",
        "minimum": -200,
        "maximum": 1000
      },
      "rtd": {
        "title": "Rushing touchdowns",
        "description": "Touchdowns scored on runs.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "rec": {
        "title": "Receptions",
        "description": "Passes caught.",
        "type": "integer",
        "minimum": 0,
        "maximum": 50
      },
      "wy": {
        "title": "Receiving yards",
        "description": "Receiving yards gained; can be negative.",
        "type": "integer",
        "minimum": -200,
        "maximum": 1000
      },
      "wtd": {
        "title": "Receiving touchdowns",
        "description": "Touchdowns scored on catches.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "two": {
        "title": "2-point conversions",
        "description": "Successful 2-point conversions passed, run or caught.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "fum": {
        "title": "Fumbles lost",
        "description": "Fumbles recovered by the other team.",
        "type": "integer",
        "minimum": 0,
        "maximum": 30
      },
      "custom": {
        "title": "Change the scoring settings",
        "description": "Type your league’s own points per yard, touchdown, interception and fumble.",
        "type": "boolean"
      },
      "ppy": {
        "title": "Passing yards per point",
        "description": "Passing yards that make 1 point.",
        "type": "number",
        "minimum": 1,
        "maximum": 100
      },
      "pry": {
        "title": "Rushing and receiving yards per point",
        "description": "Rushing or receiving yards that make 1 point.",
        "type": "number",
        "minimum": 1,
        "maximum": 100
      },
      "pptd": {
        "title": "Points per passing TD",
        "description": "Points for each touchdown pass.",
        "type": "number",
        "minimum": -20,
        "maximum": 20
      },
      "ptd6": {
        "title": "Points per rushing or receiving TD",
        "description": "Points for each rushing or receiving touchdown.",
        "type": "number",
        "minimum": -20,
        "maximum": 20
      },
      "pint": {
        "title": "Points per interception",
        "description": "Points for each interception thrown; usually negative.",
        "type": "number",
        "minimum": -20,
        "maximum": 20
      },
      "pfum": {
        "title": "Points per fumble lost",
        "description": "Points for each fumble lost; usually negative.",
        "type": "number",
        "minimum": -20,
        "maximum": 20
      },
      "ptwo": {
        "title": "Points per 2-point conversion",
        "description": "Points for each 2-point conversion.",
        "type": "number",
        "minimum": -20,
        "maximum": 20
      },
      "yd": {
        "title": "Yardage points",
        "description": "Fractional points for every yard, or whole points only for each full increment.",
        "type": "string",
        "enum": [
          "fraction",
          "whole"
        ]
      }
    }
  },
  "outputs": {
    "total": {
      "label": "Fantasy points",
      "description": "Passing + rushing + receiving + other points.",
      "format": "number"
    },
    "passing": {
      "label": "Passing",
      "description": "Passing yards ÷ yards per point + passing TDs × points + interceptions × points.",
      "format": "number"
    },
    "rushing": {
      "label": "Rushing",
      "description": "Rushing yards ÷ yards per point + rushing TDs × points.",
      "format": "number"
    },
    "receiving": {
      "label": "Receiving",
      "description": "Receptions × points per reception + receiving yards ÷ yards per point + receiving TDs × points.",
      "format": "number"
    },
    "other": {
      "label": "Other",
      "description": "2-point conversions × points + fumbles lost × points.",
      "format": "number"
    },
    "standard": {
      "label": "Standard total",
      "description": "The total with 0 points per reception.",
      "format": "number"
    },
    "half": {
      "label": "Half PPR total",
      "description": "The total with 0.5 points per reception.",
      "format": "number"
    },
    "ppr": {
      "label": "PPR total",
      "description": "The total with 1 point per reception.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "fmt": "half",
      "py": 250,
      "ptd": 2,
      "int": 1,
      "ry": 20,
      "rtd": 0,
      "rec": 0,
      "wy": 0,
      "wtd": 0,
      "two": 0,
      "fum": 0,
      "custom": false,
      "ppy": 25,
      "pry": 10,
      "pptd": 4,
      "ptd6": 6,
      "pint": -1,
      "pfum": -2,
      "ptwo": 2,
      "yd": "fraction"
    },
    "outputs": {
      "total": 19,
      "passing": 17,
      "rushing": 2,
      "receiving": 0,
      "other": 0,
      "standard": 19,
      "half": 19,
      "ppr": 19
    },
    "text": "Your player scored 19 fantasy points."
  },
  "examples": [
    {
      "given": {
        "fmt": "half",
        "py": 300,
        "ptd": 3,
        "int": 1,
        "ry": 20,
        "rtd": 0,
        "rec": 0,
        "wy": 0,
        "wtd": 0,
        "two": 0,
        "fum": 0,
        "custom": false
      },
      "expect": {
        "total": 25,
        "passing": 23,
        "rushing": 2
      },
      "source": "Yahoo Help, Default league settings in Fantasy Football (every 25 passing yards 1 point, passing TD 4, interception −1, every 10 rushing or receiving yards 1 point, rushing or receiving TD 6, reception 0.5, 2-point conversion 2, fumble lost −2, fractional yardage points), https://help.yahoo.com/kb/default-league-settings-fantasy-football-sln6489.html; hand calculation in content.mdx: 300 ÷ 25 + 3 × 4 − 1 + 20 ÷ 10 = 25"
    },
    {
      "given": {
        "fmt": "ppr",
        "py": 0,
        "ptd": 0,
        "int": 0,
        "ry": 100,
        "rtd": 1,
        "rec": 4,
        "wy": 30,
        "wtd": 0,
        "two": 0,
        "fum": 1,
        "custom": false
      },
      "expect": {
        "total": 21,
        "standard": 17,
        "half": 19,
        "ppr": 21,
        "receiving": 7,
        "other": -2
      },
      "source": "Yahoo Help, Default league settings in Fantasy Football (every 25 passing yards 1 point, passing TD 4, interception −1, every 10 rushing or receiving yards 1 point, rushing or receiving TD 6, reception 0.5, 2-point conversion 2, fumble lost −2, fractional yardage points), https://help.yahoo.com/kb/default-league-settings-fantasy-football-sln6489.html; hand calculation in content.mdx: 10 + 6 + 3 − 2 = 17, + 4 × 0.5 = 19, + 4 × 1 = 21"
    },
    {
      "given": {
        "fmt": "standard",
        "py": 0,
        "ptd": 0,
        "int": 0,
        "ry": 0,
        "rtd": 0,
        "rec": 7,
        "wy": 87,
        "wtd": 1,
        "two": 1,
        "fum": 0,
        "custom": false
      },
      "expect": {
        "total": 16.7,
        "half": 20.2,
        "ppr": 23.7
      },
      "source": "Yahoo Help, Default league settings in Fantasy Football (every 25 passing yards 1 point, passing TD 4, interception −1, every 10 rushing or receiving yards 1 point, rushing or receiving TD 6, reception 0.5, 2-point conversion 2, fumble lost −2, fractional yardage points), https://help.yahoo.com/kb/default-league-settings-fantasy-football-sln6489.html; hand calculation in content.mdx: 87 ÷ 10 + 6 + 2 = 16.7"
    },
    {
      "given": {
        "fmt": "standard",
        "py": 0,
        "ptd": 0,
        "int": 0,
        "ry": 99,
        "rtd": 0,
        "rec": 0,
        "wy": -15,
        "wtd": 0,
        "two": 0,
        "fum": 0,
        "custom": true,
        "ppy": 25,
        "pry": 10,
        "pptd": 6,
        "ptd6": 6,
        "pint": -2,
        "pfum": -2,
        "ptwo": 2,
        "yd": "whole"
      },
      "expect": {
        "total": 8,
        "rushing": 9,
        "receiving": -1
      },
      "source": "hand calculation in content.mdx: whole points toward zero, 9 − 1 = 8; Yahoo Help, Default league settings in Fantasy Football (every 25 passing yards 1 point, passing TD 4, interception −1, every 10 rushing or receiving yards 1 point, rushing or receiving TD 6, reception 0.5, 2-point conversion 2, fumble lost −2, fractional yardage points), https://help.yahoo.com/kb/default-league-settings-fantasy-football-sln6489.html"
    }
  ],
  "sources": [
    "Yahoo Help, Default league settings in Fantasy Football (offense: every 25 passing yards 1, passing TD 4, interception −1, every 10 rushing yards 1, rushing TD 6, reception 0.5, every 10 receiving yards 1, receiving TD 6, 2-point conversion 2, fumble lost −2; fractional yardage points: yes). https://help.yahoo.com/kb/default-league-settings-fantasy-football-sln6489.html (retrieved 2026-10-02)"
  ],
  "related": [
    "win-percentage",
    "odds",
    "parlay"
  ],
  "changelog": []
}
