State tax docs / States / Virginia
Virginia state income tax: engine rules, 2026
How the QuantCalc engine computes Virginia tax for tax year 2026, rule by rule, with the official source for each rule. Verification status: Worksheet-tested (what this means).
On this page: How the tax is computed · Rate schedule · Deductions, exemptions and credits · Age 65+ subtractions and credits · Social Security · IRA, 401(k) and private pensions · Public pensions · Military retirement pay · Roth conversions · Capital gains · Worked examples · Not calculated ·
Verification. Machine-readable: this state's entry in the
engine config and the provenance file
(key VA).
How the tax is computed
Every step the engine takes for Virginia, in the order it takes them. Steps marked with a filing status or household type apply only there. Each step links the section below that carries Virginia's figures and the official sources for it; the calculation order page describes every step for all jurisdictions.
What each filing status gets, read back from the engine for a household with $1 of income (so below every phase-out and income test):
| Single | Married filing jointly | Married filing separately | Head of household | |
|---|---|---|---|---|
| Rate schedule used | single schedule | joint schedule | single schedule | single schedule |
| Top rate | 5.75% from $17,000 | 5.75% from $17,000 | 5.75% from $17,000 | 5.75% from $17,000 |
| Standard deduction, under 65 | $8,750 | $17,500 | $8,750 | $8,750 |
| Standard deduction at 70 (joint: both 70) | $8,750 | $17,500 | $8,750 | $8,750 |
| Personal exemption | $930 | $1,860 | $930 | $930 |
| Age subtractions at 70 (joint: both 70) | $12,800 | $25,600 | $12,800 | $12,800 |
- Per-person mode joint returns with the spouse's age given On a joint return with the spouse's age given, every age test the state applies per taxpayer is evaluated for each spouse at their own age. Without it one household age applies to both.
engine step (compute_state_tax_detail). Engine convention, no external source: The engine cannot know the second spouse's age unless told. - Rate schedule and standard deduction by filing status Single uses the single schedule and deduction; married filing jointly the joint ones. Head of household and married filing separately follow the two steps below.
Virginia's values · engine step (select_brackets). Sources (Rate schedule): Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - Married filing separately Where the state publishes its own separate schedule, that one (with half the joint deduction unless a separate deduction is set). Where one schedule applies to every status, that schedule unscaled with the single deduction. Otherwise the joint schedule with every threshold and the deduction halved (computed as the joint tax on twice the income, halved).
Virginia's values · engine step (select_brackets). Sources (Rate schedule): Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - Head of household The state's head-of-household schedule where it has one, else the single schedule; the head-of-household deduction where set, else the single deduction.
Virginia's values · engine step (select_brackets). Sources (Rate schedule): Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - The income total every income test uses Other ordinary income + retirement distributions (before any exclusion) + conversion + federally taxable Social Security + long-term gains. It stands in for federal adjusted gross income in every threshold, cliff and phase-out below; state subtractions do not reduce it.
engine step (compute_state_tax_detail). Engine convention, no external source: The inputs are the federal AGI components, so their sum is federal AGI for these income types. - Attributing income to each spouse joint returns with each spouse's own amounts given With a caller's split (the API's
spouseobject), each spouse's own distributions, pension, public pension, conversion, wages and military pay; spouse 2's shares are clamped into the household totals and spouse 1 gets the rest. Without a split, in per-person mode, every item is divided 50/50. Social Security, other ordinary income and gains are always divided 50/50 where a rule needs a per-person amount. The split is used only where a state's rule is per taxpayer; household totals stay authoritative for the base and the income tests.
engine step (compute_state_tax_detail). Engine convention, no external source: Equal attribution is the neutral split when the owner of a dollar is not known. - Keeping the per-spouse shares inside the household joint returns with each spouse's own amounts given After the public-pension and employer-pension carve-outs, if the two spouses' remaining shares add up to more than the household's exclusion-eligible distributions (an inconsistent split), spouse 1's share is reduced so they do not.
engine step (compute_state_tax_detail). Engine convention, no external source: Input normalisation. - Military retirement pay The state's military rule runs first, on military pay alone, per taxpayer: each spouse's own pay at their own age when attributed, otherwise half each at the household age on a joint return. Exempt dollars leave the base; the rest become pension dollars for the general retirement rules.
Virginia's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Section58.1 322.02 (checked 2026-09-27) - One taxpayer's military exemption Exempt: all of it (below the age split, up to the younger cap). Capped: up to the cap for the age tier, plus the earned-income bonus below the age split when the taxpayer's own wages exceed the threshold, less the taxpayer's own Social Security where the rule says so. Percentage: the percentage (below the age split, up to the younger cap). Then the income limit: above it the exemption is lost, or phased out over the range where one is set.
Virginia's values · engine step (military_exempt_one). Sources (Military retirement pay): Section58.1 322.02 (checked 2026-09-27) - Social Security exempt None of the federally taxable benefit enters the base.
Virginia's values · engine step (ss_amount_in_state_base). Sources (Social Security): Code of Virginia § 58.1-322.02. Virginia taxable income; subtractions (checked 2026-09-27) - No retirement exclusion (age deduction instead) Distributions and conversions stay in the base; the age deduction below applies against any income.
Virginia's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Code of Virginia § 58.1-322. Virginia taxable income of residents (checked 2026-09-27); Code of Virginia § 58.1-322.03. Virginia taxable income; deductions (checked 2026-09-27) - Long-term gains in the base Where gains are taxed as ordinary income: net long-term gain less the flat exclusion (never below zero), times the inclusion share. Elsewhere none enters.
Virginia's values · engine step (compute_state_tax_detail). Sources (Capital gains): Code of Virginia § 58.1-322. Virginia taxable income of residents (checked 2026-09-27); Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - Personal exemption The joint amount on a joint return, the head-of-household amount where set, otherwise the single amount.
Virginia's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Code of Virginia § 58.1-322.03. Virginia taxable income; deductions (checked 2026-09-27) - Age subtraction At or above the age: the single amount, or the joint amount on a joint return (both spouses at the household age). In per-person mode, half the joint amount (or the single amount) per qualifying spouse. Plus the low-income amount below the income test; less the military exclusion where the statute says so; limited to the spouse's own income where the statute says so.
Virginia's values · engine step (compute_state_tax_detail). Sources (Age 65+ subtractions and credits): Code of Virginia § 58.1-322.03. Virginia taxable income; deductions (checked 2026-09-27) - Age deduction against any income The amount per taxpayer at or above the age, reduced dollar for dollar by income (taxable Social Security left out) over the limit; on a joint return the combined amount is reduced once by the joint excess.
Virginia's values · engine step (compute_state_tax_detail). Sources (Age 65+ subtractions and credits): Code of Virginia § 58.1-322.03. Virginia taxable income; deductions (checked 2026-09-27) - State taxable income Other ordinary income + Social Security, retirement income, conversion and gains left in the base − standard deduction − personal exemption − age subtractions.
engine step (compute_state_tax_detail). Engine convention, no external source: The order of subtraction follows the state forms; each amount is sourced at its own step. - No tax at or below zero State taxable income at or below zero returns a tax of 0 (credits are not refundable and nothing below applies).
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable, so nothing below can make a zero tax negative; each credit is sourced at its own step. - Separate-return scaling married filing separately For the halved-joint rule, taxable income is doubled before the schedule and the result halved.
Virginia's values · engine step (compute_state_tax_detail). Sources (Rate schedule): Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - The rate schedule Each bracket's rate on the part of taxable income inside it, summed. No rounding: the result is carried in full precision.
Virginia's values · engine step (apply_state_brackets). Sources (Rate schedule): Code of Virginia § 58.1-320. Imposition of tax (checked 2026-09-27) - Credits cannot make the tax negative The credits are subtracted and the result floored at zero.
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable; each credit is sourced at its own step.
Rate schedule
Single
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $3,000 | 2% |
| $3,000 | $5,000 | 3% |
| $5,000 | $17,000 | 5% |
| $17,000 | and up | 5.75% |
Married filing jointly uses the same thresholds as single.
Head of household uses the single schedule.
Married filing separately: one schedule applies to every filing status, so the engine uses it unscaled with the single deduction.
- Code of Virginia § 58.1-320. Imposition of tax, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxes Virginia taxable income at 2% up to $3,000, 3% from $3,000 to $5,000, 5% from $5,000 to $17,000 and 5.75% above $17,000, one schedule for every individual regardless of filing status. Checked 2026-09-27.
Deductions, exemptions and credits
- Standard deduction (or the exemption the engine carries in its place): $8,750 single, $17,500 married filing jointly, and the single amount for head of household.
- Personal exemption, subtracted in addition: $930 single, $1,860 MFJ.
- Code of Virginia § 58.1-322.03. Virginia taxable income; deductions, Virginia General Assembly (Code of Virginia, Legislative Information System). For taxable years 2025 and 2026 the Virginia standard deduction is $8,750 single and $17,500 married filing jointly; the statute also grants a $930 deduction per federal personal exemption and an extra $800 exemption per aged or blind taxpayer, which the engine does not carry. Checked 2026-09-27.
Age 65+ subtractions and credits
- At age 65 or older: $800 is subtracted from the base ($1,600 for a married couple filing jointly when both qualify), against any income. With the spouse's age given, each spouse qualifies on their own age.
- Age deduction at 65 or older: $12,000 per taxpayer ($24,000 MFJ) against any income, reduced by $1 for each $1 of income excluding taxable Social Security above $50,000 (single) / $75,000 (MFJ). On a joint return the combined amount is reduced once.
- Code of Virginia § 58.1-322.03. Virginia taxable income; deductions, Virginia General Assembly (Code of Virginia, Legislative Information System). Each taxpayer aged 65 or older may deduct $12,000 from Virginia income of any kind, reduced $1 for every $1 of adjusted federal AGI (federal AGI minus taxable Social Security/Tier 1 benefits) above $50,000 single or $75,000 married. Checked 2026-09-27.
IRA, 401(k) and private pensions
- No separate retirement-income exclusion: the age deduction (see age 65+) applies against any income, including distributions.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- No Virginia DOR page (Form 760 instructions, Age Deduction Worksheet) could be fetched: www.tax.virginia.gov timed out / failed DNS from this host on 2026-09-27. The worksheet's reduce-once-then-apportion MFJ mechanics cited in state_tax.c are therefore not confirmed from an official page; the statute only states the $1-for-$1 reduction over $75,000 for married taxpayers.
- Code of Virginia § 58.1-322. Virginia taxable income of residents, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxable income starts from federal adjusted gross income, so IRA/401(k)/pension distributions, Roth conversions and long-term capital gains included federally enter the Virginia base as ordinary income unless a specific Virginia subtraction applies. Checked 2026-09-27.
- Code of Virginia § 58.1-322.03. Virginia taxable income; deductions, Virginia General Assembly (Code of Virginia, Legislative Information System). Each taxpayer aged 65 or older may deduct $12,000 from Virginia income of any kind, reduced $1 for every $1 of adjusted federal AGI (federal AGI minus taxable Social Security/Tier 1 benefits) above $50,000 single or $75,000 married. Checked 2026-09-27.
Public pensions
No separate treatment: public pensions follow the rules for other retirement income above.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- No fetchable official page states in words that non-military government pensions are fully taxable; the treatment follows from the federal-AGI starting point (§58.1-322) and the absence of a general government-pension subtraction in §58.1-322.02 (which lists only military-benefit and Medal of Honor subtractions). Military retirement subtractions are not modeled by the engine.
- Code of Virginia § 58.1-322. Virginia taxable income of residents, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxable income starts from federal adjusted gross income, so IRA/401(k)/pension distributions, Roth conversions and long-term capital gains included federally enter the Virginia base as ordinary income unless a specific Virginia subtraction applies. Checked 2026-09-27.
Military retirement pay
- Military retirement pay is exempt up to $40,000 per taxpayer.
- Military pay the military rule does not exempt is pension income under the general retirement rules.
- Rules are applied per taxpayer at that person's own age when the spouse's age is given. API value:
rules.militaryRetirement.treatment: "capped_exclusion".
- Section58.1 322.02, Code of Virginia. From 2025, up to $40,000 of military benefits per person may be subtracted, at any age. Checked 2026-09-27.
Roth conversions
A conversion is taxed as ordinary income in full. It does not draw any retirement-income exclusion.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- No Virginia page addresses Roth conversions explicitly; the conversion is taxable because it is in federal AGI. The engine lets the conversion use the any-income Age Deduction (age_deduction_any_income), consistent with §58.1-322.03(5)(b) which is not limited to retirement income.
- Code of Virginia § 58.1-322. Virginia taxable income of residents, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxable income starts from federal adjusted gross income, so IRA/401(k)/pension distributions, Roth conversions and long-term capital gains included federally enter the Virginia base as ordinary income unless a specific Virginia subtraction applies. Checked 2026-09-27.
Capital gains
- Net long-term gain is taxed as ordinary income.
- Short-term gains are ordinary income.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- No fetchable official page states in words that capital gains are taxed as ordinary income; this follows from the federal-AGI starting point and the single rate schedule.
- Code of Virginia § 58.1-322. Virginia taxable income of residents, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxable income starts from federal adjusted gross income, so IRA/401(k)/pension distributions, Roth conversions and long-term capital gains included federally enter the Virginia base as ordinary income unless a specific Virginia subtraction applies. Checked 2026-09-27.
- Code of Virginia § 58.1-320. Imposition of tax, Virginia General Assembly (Code of Virginia, Legislative Information System). Virginia taxes Virginia taxable income at 2% up to $3,000, 3% from $3,000 to $5,000, 5% from $5,000 to $17,000 and 5.75% above $17,000, one schedule for every individual regardless of filing status. Checked 2026-09-27.
Worked examples
Computed by the engine for the fixed households below (the same ones for every state, so states compare directly). Federal tax is not supplied, so a federal-tax deduction is not taken; the income tests use the sum of the components as income.
| Household (engine inputs) | State tax |
|---|---|
| Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain | $2,877.40 |
| Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain | $4,862.30 |
| Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion | $5,510.90 |
| Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable) | $1,182.30 |
| Single, 58: $36,000 military retirement pay and $30,000 wages | $910.90 |
| Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given | $1,343.30 |
Line by line
The intermediate lines the engine records while it computes each example (its detail record, printed as it comes out; lines that are zero are left out). The engine's documentation build checks that the lines add up to the taxable income and the tax, for every state, filing status and a grid of households. Each line links the engine step that produces it.
Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain: $2,877.40
| Line | Amount |
|---|---|
| Income total used by the income tests | $82,000 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $50,000 |
| + Long-term gain in the base | $5,000 |
| − Standard deduction | $8,750 |
| − Personal exemption | $930 |
| − Age subtractions and deductions | $800 |
| = State taxable income | $54,520 |
| Tax from the rate schedule | $2,877.40 |
| = Tax before credits | $2,877.40 |
| = Tax | $2,877.40 |
Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain: $4,862.30
| Line | Amount |
|---|---|
| Income total used by the income tests | $144,000 |
| + Other ordinary income in the base | $20,000 |
| + Retirement income in the base | $80,000 |
| + Long-term gain in the base | $10,000 |
| − Standard deduction | $17,500 |
| − Personal exemption | $1,860 |
| − Age subtractions and deductions | $1,600 |
| = State taxable income | $89,040 |
| Tax from the rate schedule | $4,862.30 |
| = Tax before credits | $4,862.30 |
| = Tax | $4,862.30 |
Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion: $5,510.90
| Line | Amount |
|---|---|
| Income total used by the income tests | $110,000 |
| + Other ordinary income in the base | $60,000 |
| + Roth conversion in the base | $50,000 |
| − Standard deduction | $8,750 |
| − Personal exemption | $930 |
| = State taxable income | $100,320 |
| Tax from the rate schedule | $5,510.90 |
| = Tax before credits | $5,510.90 |
| = Tax | $5,510.90 |
Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable): $1,182.30
| Line | Amount |
|---|---|
| Income total used by the income tests | $95,500 |
| + Retirement income in the base | $30,000 |
| + Roth conversion in the base | $40,000 |
| − Standard deduction | $17,500 |
| − Personal exemption | $1,860 |
| − Age subtractions and deductions | $25,600 |
| = State taxable income | $25,040 |
| Tax from the rate schedule | $1,182.30 |
| = Tax before credits | $1,182.30 |
| = Tax | $1,182.30 |
Single, 58: $36,000 military retirement pay and $30,000 wages: $910.90
| Line | Amount |
|---|---|
| Income total used by the income tests | $66,000 |
| Military pay excluded (not in the base) | $36,000 |
| + Other ordinary income in the base | $30,000 |
| − Standard deduction | $8,750 |
| − Personal exemption | $930 |
| = State taxable income | $20,320 |
| Tax from the rate schedule | $910.90 |
| = Tax before credits | $910.90 |
| = Tax | $910.90 |
Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given: $1,343.30
| Line | Amount |
|---|---|
| Income total used by the income tests | $85,500 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $50,000 |
| − Standard deduction | $17,500 |
| − Personal exemption | $1,860 |
| − Age subtractions and deductions | $12,800 |
| = State taxable income | $27,840 |
| Tax from the rate schedule | $1,343.30 |
| = Tax before credits | $1,343.30 |
| = Tax | $1,343.30 |
What the engine does not calculate, and known approximations
- Filers born on or before January 1, 1939 keep the full age deduction regardless of income; the engine income-tests everyone.
- Married filing separately is tested against the single $50,000 limit rather than the couple's combined income.
- No fetchable official page states in words that non-military government pensions are fully taxable; the treatment follows from the federal-AGI starting point (§58.1-322) and the absence of a general government-pension subtraction in §58.1-322.02 (which lists only military-benefit and Medal of Honor subtractions). Military retirement subtractions are not modeled by the engine. (Public pensions)
What the engine does not calculate for any state (itemized deductions, credits beyond those listed, part-year residents, dependents, blindness and disability, and more) is listed on the calculation order page.
Verification
Worksheet-tested Golden and unit tests follow the Form 760 Age Deduction Worksheet (lines 9 to 15).
- Golden scenarios (hand-computed expected tax, asserted to within $1):
V01,VAANY1,VACONV1. - State-specific unit tests:
test_mfs_one_schedule_states,test_va_age_deduction_any_income,test_military_tiers,test_va_age_deduction_one_spouse,test_va_exemptions. - Structural tests covering every state: 3.
- State forms and worksheets followed in the test derivations: Form 760 Age Deduction Worksheet.
Social Security
Social Security benefits are fully exempt: none of the federally taxable amount enters the state base.
API value:
socialSecurityRule: "exempt". The engine's input is the federally taxable amount; income tests use the sum of the income components as the adjusted-gross-income proxy.