CoolFace
Datasetpublic

StepUpLaw/florida-save-our-homes-by-county

Florida Save Our Homes Benefit by County (2026) This Hugging Face copy holds counties.csv, counties.json, distribution_2026.csv, portability_by_county.csv and schema.json. The saved DOR Data Book files, the manifest of every raw roll file, the build tools and the full findings are in the GitHub repository. Paths below that begin with data/, tools/ or notebooks/ refer to that repository. A county-by-county dataset of the Florida Save Our Homes (SOH) assessment differential, which… See the full description on the dataset page: https://huggingface.co/datasets/StepUpLaw/florida-save-our-homes-by-county.

sourceHugging Facecc-by-4.0updated 2d agoView on Hugging Face
0likes27downloads
Dataset Card

Florida Save Our Homes Benefit by County (2026)

This Hugging Face copy holds counties.csv, counties.json, distribution_2026.csv, portability_by_county.csv and schema.json. The saved DOR Data Book files, the manifest of every raw roll file, the build tools and the full findings are in the GitHub repository. Paths below that begin with data/, tools/ or notebooks/ refer to that repository.

A county-by-county dataset of the Florida Save Our Homes (SOH) assessment differential, which is how far capped homestead assessments sit below market ("just") value, what that is worth in property tax per average homestead per year, and what a move costs an owner who cannot port it. Built from Florida Department of Revenue (DOR) primary files.

Compiled by Kevin D. Klagge, Esq., a Florida estate planning and probate attorney (Klagge Law, PLLC). Built on September 23, 2026.

  • —Canonical page with the county picker, the ranked table and the citation: <https://stepuplaw.com/data/florida-save-our-homes-by-county/>
  • —Source repository: <https://github.com/stepuplaw/florida-save-our-homes-by-county>

What the data shows

  • —On the 2026 preliminary roll, Florida's 5,251,737 homestead parcels carry a Save Our Homes differential of $815.1 billion. The county figures sum exactly to the $815,135,591,712 on DOR's 2026 statewide DR-489V recapitulation, line 12. The average homestead's differential is $153,489.
  • —For the average homestead, the cap is worth an estimated $5,436 a year in Miami-Dade, $5,026 in Palm Beach and $4,586 in Broward (average differential x 2025 total millage / 1000). In Union County it is worth $216.
  • —The statewide differential peaked at $929.1 billion in 2024, fell to $890.9 billion in 2025 and to $815.1 billion on the 2026 preliminary roll. It fell in 63 of 67 counties from 2025 to 2026.
  • —187,319 homesteads (3.6%) carry a differential above the $500,000 portability limit. Together they hold $122.7 billion that cannot be carried to a new Florida home, worth an estimated $2.06 billion a year in tax at 2025 rates.

FINDINGS.md has the ranked table, the five-year change by county, the move-cost tables, ten findings and every gap in the data.

Files

PathWhat it is
data/counties.csv, data/counties.jsonMain dataset, 67 counties x roll years 2022 to 2026 (335 rows)
data/distribution_2026.csv2026 parcel-level distribution of the differential per county (median, percentiles, count of homesteads over the $500,000 portability limit), from the DOR NAL roll
data/portability_by_county.csvDOR-reported portability transfers and value ported, by county, 2022 to 2026
data/schema.json, data/datapackage.jsonData dictionary and Frictionless Data Package descriptor for the three CSV files
data/report_tables.mdTables generated by tools/report.py and inserted into FINDINGS.md
data/sources/databook_<year>/DOR Data Book workbooks and PDFs for 2021 to 2025 and the current (2026) edition, as downloaded
data/sources/extracted/databook_extract.csvThe Data Book figures pulled from the workbooks (SOH, millage, roll status), 2021 to 2026
data/sources/nal_2026/nal_2026_homestead_summary.csvPer-county sums from the 2026 NAL roll files, with the DOR NAL user guides
data/sources/law/Texts of Fla. Stat. 193.155 (2026 and 2025 versions) and the Florida Constitution
data/sources/manifest.csv, manifest.jsonEvery source file with its URL, byte size, SHA-256 and retrieval time, including the 67 NAL roll files that are not in this repository
tools/Everything used to download, extract, build and check (Python standard library only, except the notebook)
notebooks/save-our-homes-overview.ipynbA short notebook that loads the CSV and reproduces the headline figures
FINDINGS.mdFindings, rankings, gaps

The raw NAL roll files are not in the repository. The 67 county zip files total about 825 MB, and every one is listed in data/sources/manifest.csv with its DOR URL, size and SHA-256. tools/nal_summarize.py downloads them into data/sources/nal_2026/raw/, and the hashes let you confirm you have the same files. DOR replaces the preliminary files with final ones during the year, so a later download may differ from the files hashed here.

Columns (data/counties.csv)

ColumnDefinitionSource
countyCounty name as DOR spells it (Miami-Dade, Saint Johns, Saint Lucie, DeSoto)
yearTax roll year (assessment date January 1 of that year)
homestead_parcelsNumber of real property parcels with NAL field JV_HMSTD ("Just Value, Homestead Property") greater than 0. 2026 only.DOR NAL roll file
homestead_just_value_totalSum of JV_HMSTD over those parcels. 2026 only.DOR NAL roll file
homestead_assessed_value_totalSum of AV_HMSTD ("Assessed Value, Homestead Property"), before exemptions. 2026 only.DOR NAL roll file
soh_differential_totalCounty SOH differential (homestead just value minus capped assessed value) as DOR reports itDOR Data Book, county_overview.xlsx, sheet "Save Our Homes Value History"
avg_soh_differential_per_homestead(homestead_just_value_total minus homestead_assessed_value_total) divided by homestead_parcels. All three inputs come from the NAL, so the average is internally consistent. 2026 only.computed from NAL
avg_total_millageDOR "Total Millage Rate" for the county: county-wide levies plus less-than-county-wide levies (municipal, MSTU, special district) expressed as an average over the whole county (DOR: "Aggregate millage rates calculated by dividing total taxes levied by the county-wide taxable value"). 2022 to 2025.DOR Data Book, millage_taxes_levied.xlsx, sheet "Millage Rates"
est_avg_annual_tax_savedEstimate. avg_soh_differential_per_homestead x millage / 1000. For 2026 the millage used is the 2025 DOR Total Millage Rate, because 2026 levies are not yet published (DOR's current Data Book still carries the 2025 millage table). Only computed for 2026.computed
source, source_urlTable, sheet and column for every figure in the row, and the file URLs
noteRoll status, what is blank and why, and the NAL versus Data Book gap for 2026

Method

  1. 1.SOH differential, 2022 to 2026. Taken from the "Save Our Homes Value History" sheet of the newest DOR Data Book county_overview.xlsx (the 2026 edition, which carries every year from 2000). DOR revises prior years slightly after Value Adjustment Board changes, so the newest edition is used. I also pulled each year's own edition. No county-year changed by more than 1% between editions (checked by tools/check_extract.py).
  2. 2.Millage, 2022 to 2025. "Total Millage Rate" from each year's millage_taxes_levied.xlsx. I asserted the table year matches the roll year for each file. DOR labels Miami-Dade as "Dade" in this table and puts a footnote digit after Orange and Osceola ("Orange1", "Osceola1"). Names were normalized. The footnote's text does not appear in the workbook.
  3. 3.Homestead parcels and values, 2026. DOR's 2026 NAL (name-address-legal) roll files for all 67 counties were downloaded and read parcel by parcel. The files are the preliminary roll dated 2026-07-27, except Citrus, whose preliminary file is not on the portal, so its 2026 final file was used. A homestead parcel is one with JV_HMSTD greater than 0. The parcel count is close to the count of parcels with a $25,000 homestead exemption (EXMPT_01 greater than 0; both counts are in the summary file). The two differ where a parcel is homestead but the exemption is recorded as 0, for example for some fully exempt owners.
  4. 4.NAL versus Data Book. The NAL sum of JV_HMSTD minus AV_HMSTD comes out slightly below the Data Book SOH figure in most counties (typically 0.1% to 3%). The Data Book figure is what the property appraiser certifies on the DR-489 recapitulation, at a different extract date. The row's note gives the exact gap for each county. soh_differential_total keeps the Data Book figure because that is the figure the Department of Revenue reports. The per-homestead average is computed entirely within the NAL so the numerator and denominator come from the same records.
  5. 5.Tax estimate. est_avg_annual_tax_saved = average differential x county Total Millage Rate / 1000. Nothing else in the dataset is estimated. Missing values are blank, never imputed.

The law

The cap. Fla. Const. Art. VII, s. 4(d)(1) and Fla. Stat. 193.155(1): each January 1, a homestead's assessment may change by no more than the lower of (a) 3% of the prior year's assessment or (b) the percent change in the CPI for all urban consumers, U.S. City Average, for the preceding calendar year. Assessments may never exceed just value (s. 4(d)(2); 193.155(2)). After a change of ownership, the property is reassessed at just value on the next January 1 unless portability applies (s. 4(d)(3); 193.155(3)). 193.155(3)(a) lists transfers that are not a change of ownership, including transfers between spouses, to a surviving spouse, and certain transfers where the same person keeps the homestead exemption. That list matters for lady bird deeds and other estate planning transfers.

Portability. Fla. Const. Art. VII, s. 4(d)(8) and Fla. Stat. 193.155(8):

  • —Who: a person who establishes a new homestead and "has received a homestead exemption as of January 1 of any of the 3 immediately preceding years" (193.155(8); the Constitution says "any of the three years immediately preceding the establishment of the new homestead"). The window is 3 years, not 2. The current constitutional and statutory text both say 3 years (saved copies in data/sources/law/). A 2-year rule is an older version of the law.
  • —Upsizing (new just value at least equal to the old home's just value in the year it was abandoned): the new home's assessed value is its just value minus the lesser of $500,000 or the old home's differential (193.155(8)(a)).
  • —Downsizing (new just value lower): the new assessed value is the new just value x (old assessed value / old just value). The resulting differential is capped at $500,000 (193.155(8)(b)).
  • —Joint owners split the differential under 193.155(8)(c) to (f); the total across all new homesteads cannot exceed $500,000.
  • —Application: the owner must file the transfer form with the homestead exemption application (193.155(8)(h)), normally by March 1; late filing routes are in (8)(j) and (8)(k).
  • —Storm-damaged homes: under 193.155(8)(m), an owner whose homestead was significantly damaged or destroyed by a named storm may elect to treat it as abandoned on the storm date, if a new homestead is established by January 1 of the third year after the storm.
  • —Pending change: ch. 2026-239, s. 3, replaces "immediate prior homestead" with "prior homestead" in 193.155(8)(a) and (b). Section 4 of that act says the amendments first apply to the 2027 roll. The $500,000 limit and the 3-year window are unchanged.
  • —Portability applies only to a new Florida homestead. An owner who leaves the state, or who waits past the 3-year window, loses the whole differential.

Caveats

  • —Averages hide wide variation. One long-time owner in a coastal house can carry a differential of more than $1 million, while a buyer from 2025 has close to none. data/distribution_2026.csv gives the median and the 25th, 75th, 90th and 99th percentiles per county. In 66 of 67 counties the median is below the mean (Seminole is the exception). In Walton the mean is 2.9 times the median.
  • —Millage varies within a county. The Total Millage Rate is a county-wide average. City residents pay municipal millage and unincorporated residents may pay MSTU millage, so an individual owner's rate can be several mills above or below the county average.
  • —School versus non-school levies. The SOH cap applies to all levies, school and non-school, so the differential reduces taxable value for both. It is fair to multiply it by the total millage. The additional $25,000 homestead exemption (non-school levies only) and the other exemptions are fixed dollar amounts that do not depend on the differential, so they do not change the marginal tax on it. The exception: owners whose taxable value is already zero or near zero (totally and permanently disabled, certain veterans, low-income seniors with qualifying just value) save little or nothing from the cap. The average overstates their benefit.
  • —Millage timing. The 2026 tax estimate uses 2025 levies. DOR's current Data Book (retrieved 2026-09-23) still carries the 2025 millage table, so 2026 adopted rates are not yet available from DOR. The dollar figure will move with each county's final 2026 rates.
  • —Preliminary roll. 2026 values are from the July preliminary roll (Citrus: final). Value Adjustment Board changes and final certification will move them slightly.
  • —2022 to 2025 averages are missing. DOR does not publish homestead parcel counts or homestead just and assessed value totals by county in the Data Book. The only public parcel-level source (NAL) is hosted for 2026 only. The Wayback Machine holds just one 2026 file. The county SOH totals and millage for those years are complete. See REPORT.md for the full gap list.
  • —"Cost of a move." The dataset reports what the average differential is worth in tax per year. A mover without portability loses that amount per year in the first year and more afterward, because the differential they lose would itself have kept growing. With portability, a mover whose differential is under $500,000 keeps all of it (upsizing) or a proportional share (downsizing). The amount lost is only the part above $500,000, which distribution_2026.csv reports as differential_above_500k_total.

Reproduce

python3 tools/fetch_databooks.py 2021 2022 2023 2024 2025   # plus tools/fetch.py for the current Data Book
python3 tools/extract_databook.py
python3 tools/nal_summarize.py        # downloads about 825 MB; DOR serves at about 30 KB/s per connection
python3 tools/nal_distribution.py
python3 tools/build.py                # rebuilds counties.csv/json and portability_by_county.csv
python3 tools/report.py > data/report_tables.md
python3 tools/make_report.py          # fills tools/REPORT_template.md with the generated tables into FINDINGS.md
python3 tools/package.py              # validates the tables and rebuilds schema.json and datapackage.json
python3 tools/sources_manifest.py     # rehashes the saved sources into manifest.csv

tools/build.py, tools/report.py and tools/make_report.py run from the files in this repository alone. Only nal_summarize.py and nal_distribution.py need the raw roll files.

Citation

Klagge, Kevin D. Florida Save Our Homes Benefit by County (2026). StepUpLaw, 2026. https://stepuplaw.com/data/florida-save-our-homes-by-county/

CITATION.cff holds the same citation in machine-readable form. Corrections are welcome at office@stepuplaw.com.

License and disclaimer

Released under CC BY 4.0. The underlying DOR files are public records of the State of Florida. This is reference data, not legal or tax advice. The tax figures are estimates, an owner's actual millage differs from the county average, and the 2026 values are from the preliminary roll. Ask the county property appraiser or a Florida lawyer before relying on any figure for a particular home.