Official portrait of Sen. John Cornyn (R-TX)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Sen. John Cornyn (R-TX)

Senate · Republican (most recent term) · TX · in Congress 2002–present · Bioguide ID C001056

Party history: R 2002–present. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.

Estimated net worth (from public disclosures)

EstimateReport yearLowMidHigh
(a) Estimated net worth at the earliest available report (2013); the member entered office earlier, in 20022013−$666,982−$80,992$504,997
(b) Latest net worth estimate2025$392,025$1,341,011$2,289,997
(c) Estimated gain / loss, nominal dollars, 2013 → 2025 (12 years spanned)2013–2025−$112,972+$1,422,004+$2,956,979

Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.

Reliability flags (net worth): none for these two endpoints. Included in the recommended dollar-gain ranking.

Net worth by report year (mid; Low–High)
Report yearAssets (mid)Liabilities (mid)Net worth midLow … HighStatus / flags
2013$701,509$782,502−$80,992−$666,982 … $504,997computed
2014$569,008$825,002−$255,993−$781,983 … $269,997computed
2015$926,011$782,502$143,510−$502,978 … $789,997computed
2016$909,512$782,502$127,010−$515,977 … $769,997computed
2017$1,250,511$782,502$468,010−$338,978 … $1,274,997computed
2018$958,512$782,502$176,010−$487,977 … $839,997computed
2019$1,258,512$582,502$676,010−$87,977 … $1,439,997computed
2020$1,326,011$550,001$776,010−$2,978 … $1,554,998computed
2021$1,534,012$582,502$951,510$48,023 … $1,854,997computed
2022$1,242,012$595,002$647,010−$115,976 … $1,409,996computed
2023$1,431,513$615,002$816,511−$56,974 … $1,689,996computed
2024$1,499,012$495,002$1,004,010$163,025 … $1,844,996computed
2025$1,823,512$482,502$1,341,011$392,025 … $2,289,997computed
Read this first. Members report asset values only as ranges (e.g. “$15,001 – $50,000”), never exact dollars. Every figure below is an estimate computed from range midpoints, not a measured return. Figures cannot be interpreted as investment performance, and they do not show wrongdoing or skill. Methodology and limitations are at the end and in the project README. Sources: public financial disclosure reports filed with the Clerk of the U.S. House of Representatives and/or the Secretary of the Senate (Senate eFD), linked below.
Avg. annual change (geometric, est.)+14.5%
Simple average of years+16.2%
Years estimated9
Best / worst single year2017 +48%
2018 -22%

Sensitivity band for the average (all ranges at floor vs. all at ceiling, same holdings both years): +13.6% to +14.8%. This band is narrow because it moves both years together; the true uncertainty is larger — see the per-year “strict envelope” column and the limitations.

Estimated year-over-year change

-22%0%48%201620172018201920202021202320242025

Bars: midpoint estimate; whisker: same-position floor/ceiling band. Axis clipped to −100%…+150%. Years with insufficient traceable holdings are omitted.

Year (t−1 → t)Opening value (mid)Closing value (mid)Income (mid)Buys (mid)Sales (mid)Est. gainSame-position bandStrict envelopeTraced coverageStatus / flags
2013→2014$247,004$247,004$0$0$0 +0.0%+0.0% … +0.0%-91% … +91%35%excluded; not eligible: traced coverage 35% < 60%
2014→2015$255,004$279,504$0$0$0 +9.6%+9.3% … +10.4%-89% … +108%45%excluded; not eligible: traced coverage 45% < 60%
2015→2016$885,510$885,510$29,155$0$0 +3.3%+3.2% … +3.3%-78% … +85%96%counted
2016→2017$794,010$1,143,010$33,752$0$0 +48.2%+41.8% … +50.9%-57% … +154%87%counted
2017→2018$1,234,510$934,510$24,352$0$0 -22.3%-23.5% … -19.4%-96% … +52%99%counted
2018→2019$950,511$1,250,511$33,752$0$0 +35.1%+29.9% … +37.3%-64% … +135%99%counted
2019→2020$1,226,011$1,326,011$11,002$0$0 +9.1%+8.2% … +9.4%-82% … +100%97%counted
2020→2021$1,318,010$1,518,010$56,252$0$0 +19.4%+17.1% … +20.4%-77% … +116%99%counted
2021→2022$220,505$220,505$0$0$0 +0.0%+0.0% … +0.0%-108% … +108%14%excluded; not eligible: traced coverage 14% < 60%
2022→2023$1,242,012$1,391,012$36,103$0$0 +14.9%+13.8% … +15.3%-80% … +109%100%counted
2023→2024$1,423,512$1,499,012$66,853$0$0 +10.0%+8.7% … +10.5%-84% … +104%99%counted
2024→2025$1,499,012$1,823,512$91,704$0$0 +27.8%+26.5% … +31.1%-72% … +128%100%counted

Filings used

Each annual-report year uses one filing (most recently filed version among originals/amendments whose Schedule A row count is ≥ 40% of the largest). Electronic (text) PDFs are parsed. Scanned/image-only filings are OCR-read and used only if they pass the explicit validation gates described in the project README (value/income coverage, two-engine agreement, exact bracket snapping, page completeness, year-to-year position continuity); such years are labelled OCR-derived below. Scanned filings that fail validation are listed as “insufficient data – scanned”.

Report yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
2013dbdef21f-29d2-46e3-9a40-a491629d6cf5Senate annual05/15/2014180Senate eFD report
713308e95736f1daf390d7adc04fec84cad104b85fb9c93115ffbba2ee79d68b
2014a3ffdf92-15b7-4649-8c07-d68aebb301acSenate annual05/14/2015170Senate eFD report
031b8b72bd9d7ecb8b0e1d511d2f949edab52eaebdf9938f057669022165c525
2015b0b83009-7029-45ea-a523-3e66a04e3be5Senate annual05/16/2016220Senate eFD report
51d6d39018e0cbcdab184c30767c8fc3022c18c1a656676ff9f6bdca17c9614a
20166035bf3f-8234-4bf4-8f1c-3746ef835a4bSenate annual05/15/2017230Senate eFD report
1742c6a74ffb533de64b034c8ab455fdbc616a70d164307677363953522675b4
2017675e9adf-2039-4b74-aebc-65ec05fe0b59Senate annual05/15/2018220Senate eFD report
5b912f48e9f18a9368434a7f87c179cb6f82547324dec0ce67d728e5de7474ce
2018104bfc52-0739-451f-9133-951cc2f5a08eSenate annual05/15/2019230Senate eFD report
4edc3bc7b98b6814845bc1f51820911c33c85cee6ccdbc13f1a1affc6f815104
20194fea0333-4f41-4415-869d-b0e893e03e9aSenate annual07/17/2020230Senate eFD report
84058c95059dfc7785ab2d79e008e12a160c997cd93b02dae62930fa0885d493
20201fc197cb-c7c7-4d4f-893d-18b5fdf57047Senate annual05/13/2021220Senate eFD report
58d57c97ef864e8d821ac155a27006d23f28aee88958fa2a1e9f9d2395fed68b
2021932dffb4-0623-4fc5-b5a2-f3287a995228Senate annual05/13/2022230Senate eFD report
dea0e8114a551684f9bb91adc2ef85e585f5342814f4687c586c81e3995c658a
20226a2a2fa8-c6af-4482-9b02-ca03806ae41eSenate annual05/12/2023240Senate eFD report
e8ec6105c62bc563388071b4e5ca1819bdea8aaf43398e15eedf21ba414cfff6
20237f1d97b6-ee67-4358-8116-9d20d440f90bSenate annual05/13/2024260Senate eFD report
b551cf1949ddfd2134178b1d927f36ddc11f9342eaa4c93c89f8a1c66ee354ed
202424280fe2-a3f8-485c-bdce-f5991d22c1cbSenate annual05/14/2025250Senate eFD report
f952c20fe91ddee0eb3b892c068cfcf805d2f5a40cc40eefc3ed93ded3c464e8
20254eb7b58b-17db-4883-86d0-5f39cc623c00Senate annual05/13/2026250Senate eFD report
b2a4aabe3d1bffca016319ca8dadaf6405bceb8f1d80d5c2d33fcbe4e5e612f9

Largest movers 2022→2023

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
UBS Inherited IRA ⇒ AGTHX - The Growth Fund of America Class A Shares—held$50,001 - $100,000$100,001 - $250,000$0$0
UBS (Spouse Separate Property) ⇒ UBS Bank USA Deposit Account (San Antonio, TX) Type: BrokSPheld$1,001 - $15,000$15,001 - $50,000$0$0
Bank of America checking account (Austin, Texas) Type: CheckingJTheld$1,001 - $15,000$15,001 - $50,000$0$0
UBS IRA (Spouse) ⇒ AGTHX - The Growth Fund of America Class A SharesSPheld$15,001 - $50,000$15,001 - $50,000$0$0
UBS Inherited IRA ⇒ SMCWX - American Funds Smallcap World A—held$50,001 - $100,000$50,001 - $100,000$0$0
UBS IRA (Spouse) ⇒ SMCWX - American Funds Smallcap World ASPheld$1,001 - $15,000$1,001 - $15,000$0$0
UBS (Spouse Separate Property) ⇒ CAIBX - Capital Income Builder Cl A ShsSPheld$50,001 - $100,000$50,001 - $100,000$0$0
UBS Inherited IRA ⇒ UBS Bank USA Deposit account (Inherited IRA) (San Antonio, Texas) Type—held$1,001 - $15,000$1,001 - $15,000$0$0

Largest movers 2023→2024

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
UBS Inherited IRA ⇒ ANWPX - New Perspective Fund Class A Shares—held$50,001 - $100,000$100,001 - $250,000$0$0
Bank of America checking account (Austin, Texas) Type: CheckingJTheld$15,001 - $50,000$1,001 - $15,000$0$0
UBS Inherited IRA ⇒ AGTHX - The Growth Fund of America Class A Shares—held$100,001 - $250,000$100,001 - $250,000$0$0
UBS (Spouse Separate Property) ⇒ UBS Bank USA Deposit Account (San Antonio, TX) Type: BrokSPheld$15,001 - $50,000$15,001 - $50,000$0$0
UBS IRA (Spouse) ⇒ AGTHX - The Growth Fund of America Class A SharesSPheld$15,001 - $50,000$15,001 - $50,000$0$0
UBS Inherited IRA ⇒ SMCWX - American Funds Smallcap World A—held$50,001 - $100,000$50,001 - $100,000$0$0
UBS IRA (Spouse) ⇒ SMCWX - American Funds Smallcap World ASPheld$1,001 - $15,000$1,001 - $15,000$0$0
UBS (Spouse Separate Property) ⇒ CAIBX - Capital Income Builder Cl A ShsSPheld$50,001 - $100,000$50,001 - $100,000$0$0

Largest movers 2024→2025

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
UBS (Spouse Separate Property) ⇒ ANCFX - Fundamental Investors Class A SharesSPheld$100,001 - $250,000$250,001 - $500,000$0$0
UBS (Spouse Separate Property) ⇒ CAIBX - Capital Income Builder Cl A ShsSPheld$50,001 - $100,000$100,001 - $250,000$0$0
UBS Inherited IRA ⇒ UBS Bank USA Deposit account (Inherited IRA) (San Antonio, Texas) Type—held$1,001 - $15,000$15,001 - $50,000$0$0
UBS Inherited IRA ⇒ AGTHX - The Growth Fund of America Class A Shares—held$100,001 - $250,000$100,001 - $250,000$0$0
UBS (Spouse Separate Property) ⇒ UBS Bank USA Deposit Account (San Antonio, TX) Type: BrokSPheld$15,001 - $50,000$15,001 - $50,000$0$0
UBS IRA (Spouse) ⇒ AGTHX - The Growth Fund of America Class A SharesSPheld$15,001 - $50,000$15,001 - $50,000$0$0
UBS Inherited IRA ⇒ SMCWX - American Funds Smallcap World A—held$50,001 - $100,000$50,001 - $100,000$0$0
UBS IRA (Spouse) ⇒ SMCWX - American Funds Smallcap World ASPheld$1,001 - $15,000$1,001 - $15,000$0$0

Method (summary)

  1. Schedule A asset rows are read from each annual report; the dollar range for each row is converted to its midpoint. Open-ended top ranges (“Over $50,000,000”) are excluded from the traced set and counted as a coverage loss.
  2. Positions are matched year to year by owner code (self/SP/DC/JT) + normalised asset name. A position that appears only in year t is included only if Schedule B shows a purchase of it in year t (opening value 0); a position that disappears is included only if Schedule B shows a sale (closing value 0). Otherwise it is excluded as unexplained.
  3. Estimated gain = (closing − opening + reported income − purchases + sale proceeds) ÷ opening, all at midpoints, for the traced positions. “Capital gains” income is not added again (it is already in value change and sale proceeds).
  4. A year counts only if traced opening value ≥ $50,000 and traced coverage ≥ 60% of the opening midpoint. A member is ranked only with ≥ 3 such years (exactly 2 = “limited data”, shown but unranked). Average = geometric mean of (1+yearly estimate).

Limitations

Generated 2026-10-01 by an automated pipeline. Data: Office of the Clerk, U.S. House of Representatives (disclosures-clerk.house.gov); member roster: unitedstates/congress-legislators (CC0).