{
  "taxYear": 2026,
  "updated": "2026-10-21",
  "site": "https://contractmath.com/w2-vs-1099-test-cases",
  "note": "Every number is generated by the ContractMath tax engine. Inputs are complete; replay them at https://contractmath.com/ with the share link. Estimates only, not tax advice.",
  "sources": [
    "https://www.irs.gov/pub/irs-drop/rp-25-32.pdf",
    "https://www.ssa.gov/oact/cola/cbb.html",
    "https://www.irs.gov/pub/irs-pdf/f1040es.pdf"
  ],
  "cases": [
    {
      "id": "low-income",
      "title": "$50,000 salary, single, Texas",
      "proves": "Low income: full QBI deduction, no Additional Medicare, no wage-base cap.",
      "input": {
        "filingStatus": "single",
        "state": "TX",
        "w2Salary": 50000,
        "contractMode": "hourly",
        "contractHourly": 38,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": false
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 50000,
        "socialSecurity": 3100,
        "medicare": 725,
        "additionalMedicare": 0,
        "fica": 3825,
        "standardDeduction": 16100,
        "taxable": 33900,
        "federalIncomeTax": 3820,
        "stateTax": 0,
        "takeHome": 42355,
        "benefits": 8600,
        "totalValue": 50955
      },
      "c1099": {
        "gross": 68400,
        "expenses": 0,
        "profit": 68400,
        "seBase": 63167.4,
        "socialSecurityPart": 7832.76,
        "medicarePart": 1831.85,
        "seTax": 9664.61,
        "halfSeDeduction": 4832.31,
        "selfEmployedHealthDeduction": 5760,
        "agi": 57807.7,
        "standardDeduction": 16100,
        "qbiDeduction": 8341.54,
        "taxable": 33366.16,
        "federalIncomeTax": 3755.94,
        "additionalMedicare": 0,
        "stateTax": 0,
        "totalTax": 13420.55,
        "healthInsurancePaid": 5760,
        "takeHome": 49219.45,
        "setAsidePct": 19.62
      },
      "breakEvenHourly": 39.26,
      "differenceVsW2": -1735.55
    },
    {
      "id": "calculator-default",
      "title": "$100,000 salary, single, California (calculator default)",
      "proves": "The exact numbers the home page shows on load, plus California income tax.",
      "input": {
        "filingStatus": "single",
        "state": "CA",
        "w2Salary": 100000,
        "contractMode": "hourly",
        "contractHourly": 65,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": false
      },
      "stateName": "California",
      "billableHours": 1800,
      "w2": {
        "gross": 100000,
        "socialSecurity": 6200,
        "medicare": 1450,
        "additionalMedicare": 0,
        "fica": 7650,
        "standardDeduction": 16100,
        "taxable": 83900,
        "federalIncomeTax": 13170,
        "stateTax": 5070.42,
        "takeHome": 74109.58,
        "benefits": 10600,
        "totalValue": 84709.58
      },
      "c1099": {
        "gross": 117000,
        "expenses": 0,
        "profit": 117000,
        "seBase": 108049.5,
        "socialSecurityPart": 13398.14,
        "medicarePart": 3133.44,
        "seTax": 16531.57,
        "halfSeDeduction": 8265.79,
        "selfEmployedHealthDeduction": 5760,
        "agi": 102974.22,
        "standardDeduction": 16100,
        "qbiDeduction": 17374.84,
        "taxable": 69499.38,
        "federalIncomeTax": 10001.86,
        "additionalMedicare": 0,
        "stateTax": 5347.02,
        "totalTax": 31880.45,
        "healthInsurancePaid": 5760,
        "takeHome": 79359.55,
        "setAsidePct": 27.25
      },
      "breakEvenHourly": 69.89,
      "differenceVsW2": -5350.03
    },
    {
      "id": "texas-100k",
      "title": "$100,000 salary, single, Texas",
      "proves": "Same job as the default case with no state income tax: isolates the federal and self-employment effect.",
      "input": {
        "filingStatus": "single",
        "state": "TX",
        "w2Salary": 100000,
        "contractMode": "hourly",
        "contractHourly": 70,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": false
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 100000,
        "socialSecurity": 6200,
        "medicare": 1450,
        "additionalMedicare": 0,
        "fica": 7650,
        "standardDeduction": 16100,
        "taxable": 83900,
        "federalIncomeTax": 13170,
        "stateTax": 0,
        "takeHome": 79180,
        "benefits": 10600,
        "totalValue": 89780
      },
      "c1099": {
        "gross": 126000,
        "expenses": 0,
        "profit": 126000,
        "seBase": 116361,
        "socialSecurityPart": 14428.76,
        "medicarePart": 3374.47,
        "seTax": 17803.23,
        "halfSeDeduction": 8901.62,
        "selfEmployedHealthDeduction": 5760,
        "agi": 111338.39,
        "standardDeduction": 16100,
        "qbiDeduction": 19047.68,
        "taxable": 76190.7,
        "federalIncomeTax": 11473.96,
        "additionalMedicare": 0,
        "stateTax": 0,
        "totalTax": 29277.19,
        "healthInsurancePaid": 5760,
        "takeHome": 90962.81,
        "setAsidePct": 23.24
      },
      "breakEvenHourly": 69.06,
      "differenceVsW2": 1182.81
    },
    {
      "id": "mfj",
      "title": "$100,000 salary, married filing jointly, Texas",
      "proves": "Filing status: joint standard deduction and brackets.",
      "input": {
        "filingStatus": "mfj",
        "state": "TX",
        "w2Salary": 100000,
        "contractMode": "hourly",
        "contractHourly": 70,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": false
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 100000,
        "socialSecurity": 6200,
        "medicare": 1450,
        "additionalMedicare": 0,
        "fica": 7650,
        "standardDeduction": 32200,
        "taxable": 67800,
        "federalIncomeTax": 7640,
        "stateTax": 0,
        "takeHome": 84710,
        "benefits": 10600,
        "totalValue": 95310
      },
      "c1099": {
        "gross": 126000,
        "expenses": 0,
        "profit": 126000,
        "seBase": 116361,
        "socialSecurityPart": 14428.76,
        "medicarePart": 3374.47,
        "seTax": 17803.23,
        "halfSeDeduction": 8901.62,
        "selfEmployedHealthDeduction": 5760,
        "agi": 111338.39,
        "standardDeduction": 32200,
        "qbiDeduction": 15827.68,
        "taxable": 63310.7,
        "federalIncomeTax": 7101.28,
        "additionalMedicare": 0,
        "stateTax": 0,
        "totalTax": 24904.51,
        "healthInsurancePaid": 5760,
        "takeHome": 95335.49,
        "setAsidePct": 19.77
      },
      "breakEvenHourly": 69.99,
      "differenceVsW2": 25.49
    },
    {
      "id": "sstb-ny",
      "title": "$200,000 salary, single, New York, specified service business",
      "proves": "High income near the QBI threshold ($201,750) with a state income tax.",
      "input": {
        "filingStatus": "single",
        "state": "NY",
        "w2Salary": 200000,
        "contractMode": "hourly",
        "contractHourly": 130,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": true
      },
      "stateName": "New York",
      "billableHours": 1800,
      "w2": {
        "gross": 200000,
        "socialSecurity": 11439,
        "medicare": 2900,
        "additionalMedicare": 0,
        "fica": 14339,
        "standardDeduction": 16100,
        "taxable": 183900,
        "federalIncomeTax": 36734,
        "stateTax": 10759.75,
        "takeHome": 138167.25,
        "benefits": 14600,
        "totalValue": 152767.25
      },
      "c1099": {
        "gross": 234000,
        "expenses": 0,
        "profit": 234000,
        "seBase": 216099,
        "socialSecurityPart": 22878,
        "medicarePart": 6266.87,
        "seTax": 29144.87,
        "halfSeDeduction": 14572.44,
        "selfEmployedHealthDeduction": 5760,
        "agi": 213667.57,
        "standardDeduction": 16100,
        "qbiDeduction": 39513.51,
        "taxable": 158054.06,
        "federalIncomeTax": 30530.97,
        "additionalMedicare": 144.89,
        "stateTax": 11566.14,
        "totalTax": 71386.87,
        "healthInsurancePaid": 5760,
        "takeHome": 156853.13,
        "setAsidePct": 30.51
      },
      "breakEvenHourly": 126.84,
      "differenceVsW2": 4085.88
    },
    {
      "id": "qbi-phaseout",
      "title": "$250,000 salary, single, Texas, specified service business",
      "proves": "QBI phase-out for a service business, Social Security wage-base cap and 0.9% Additional Medicare tax.",
      "input": {
        "filingStatus": "single",
        "state": "TX",
        "w2Salary": 250000,
        "contractMode": "hourly",
        "contractHourly": 160,
        "contractAnnual": 130000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 0,
        "isSSTB": true
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 250000,
        "socialSecurity": 11439,
        "medicare": 3625,
        "additionalMedicare": 450,
        "fica": 15514,
        "standardDeduction": 16100,
        "taxable": 233900,
        "federalIncomeTax": 51304,
        "stateTax": 0,
        "takeHome": 183182,
        "benefits": 16600,
        "totalValue": 199782
      },
      "c1099": {
        "gross": 288000,
        "expenses": 0,
        "profit": 288000,
        "seBase": 265968,
        "socialSecurityPart": 22878,
        "medicarePart": 7713.07,
        "seTax": 30591.07,
        "halfSeDeduction": 15295.54,
        "selfEmployedHealthDeduction": 5760,
        "agi": 266944.47,
        "standardDeduction": 16100,
        "qbiDeduction": 18440.9,
        "taxable": 232403.57,
        "federalIncomeTax": 50825.14,
        "additionalMedicare": 593.71,
        "stateTax": 0,
        "totalTax": 82009.92,
        "healthInsurancePaid": 5760,
        "takeHome": 200230.08,
        "setAsidePct": 28.48
      },
      "breakEvenHourly": 159.45,
      "differenceVsW2": 448.08
    },
    {
      "id": "wage-base",
      "title": "$240,000 net 1099 profit, single, Texas",
      "proves": "Self-employment tax above the $184,500 Social Security wage base (annual 1099 income entered directly).",
      "input": {
        "filingStatus": "single",
        "state": "TX",
        "w2Salary": 200000,
        "contractMode": "annual",
        "contractHourly": 65,
        "contractAnnual": 260000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 480,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 20000,
        "isSSTB": false
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 200000,
        "socialSecurity": 11439,
        "medicare": 2900,
        "additionalMedicare": 0,
        "fica": 14339,
        "standardDeduction": 16100,
        "taxable": 183900,
        "federalIncomeTax": 36734,
        "stateTax": 0,
        "takeHome": 148927,
        "benefits": 14600,
        "totalValue": 163527
      },
      "c1099": {
        "gross": 260000,
        "expenses": 20000,
        "profit": 240000,
        "seBase": 221640,
        "socialSecurityPart": 22878,
        "medicarePart": 6427.56,
        "seTax": 29305.56,
        "halfSeDeduction": 14652.78,
        "selfEmployedHealthDeduction": 5760,
        "agi": 219587.22,
        "standardDeduction": 16100,
        "qbiDeduction": 40697.44,
        "taxable": 162789.78,
        "federalIncomeTax": 31667.55,
        "additionalMedicare": 194.76,
        "stateTax": 0,
        "totalTax": 61167.87,
        "healthInsurancePaid": 5760,
        "takeHome": 173072.13,
        "setAsidePct": 25.49
      },
      "breakEvenHourly": 137.61,
      "differenceVsW2": 9545.13
    },
    {
      "id": "loss",
      "title": "1099 expenses larger than income, single, Texas",
      "proves": "Edge case: profit is floored at $0, so there is no self-employment tax. Losses are not carried forward and take-home never goes below $0.",
      "input": {
        "filingStatus": "single",
        "state": "TX",
        "w2Salary": 60000,
        "contractMode": "annual",
        "contractHourly": 65,
        "contractAnnual": 8000,
        "hoursPerWeek": 40,
        "weeksWorked": 48,
        "employerHealthMonthly": 550,
        "selfHealthMonthly": 0,
        "k401MatchPct": 4,
        "ptoDays": 15,
        "businessExpenses": 12000,
        "isSSTB": false
      },
      "stateName": "Texas",
      "billableHours": 1800,
      "w2": {
        "gross": 60000,
        "socialSecurity": 3720,
        "medicare": 870,
        "additionalMedicare": 0,
        "fica": 4590,
        "standardDeduction": 16100,
        "taxable": 43900,
        "federalIncomeTax": 5020,
        "stateTax": 0,
        "takeHome": 50390,
        "benefits": 9000,
        "totalValue": 59390
      },
      "c1099": {
        "gross": 8000,
        "expenses": 12000,
        "profit": 0,
        "seBase": 0,
        "socialSecurityPart": 0,
        "medicarePart": 0,
        "seTax": 0,
        "halfSeDeduction": 0,
        "selfEmployedHealthDeduction": 0,
        "agi": 0,
        "standardDeduction": 16100,
        "qbiDeduction": 0,
        "taxable": 0,
        "federalIncomeTax": 0,
        "additionalMedicare": 0,
        "stateTax": 0,
        "totalTax": 0,
        "healthInsurancePaid": 0,
        "takeHome": 0,
        "setAsidePct": 0
      },
      "breakEvenHourly": 48.26,
      "differenceVsW2": -59390
    }
  ]
}
