DMARC Census

DMARC Census, September 2026

We looked up the DMARC and SPF records of 1,000,767 domains and asked two questions of each: does it publish a policy receivers act on, and can anyone receive the reports it asks for?

The population is the Tranco top 1 million (list GQJJK) plus 1,321 US federal domains, scanned on 2026-09-01. 554 of the federal domains are in the million already and were scanned once, so the dataset holds 1,000,767 rows. Unless a sentence says otherwise, a share on this page is of the 1,000,424 domains whose DMARC lookup answered. We call those the measured domains. The 343 lookups that failed after retries are left out. They're never counted as having no record.

Jump to key findings, what changed, tiers, rank, countries, TLDs, reports that go nowhere, SPF, the federal cohort, collectors, methodology or the data.

Key findings

  • In the September 2026 scan of the Tranco top million and a US federal cohort, 131,008 domains publish p=none and name no reporting address that can receive a report. That's 27.7% of the 472,655 valid DMARC records in the scan.
  • 47.2% of the 1,000,424 domains we could measure in September 2026 publish a DMARC record receivers can act on. 47.8% publish something at the _dmarc name. 52.2% publish nothing.
  • 20.8% of the domains measured in September 2026, 208,354 of them, publish quarantine or reject with no pct or sp tag weakening it. 11.8% publish p=reject.
  • 34,749 domains in the September 2026 scan name an outside reporting address that has never published the record authorizing them. A receiver that follows RFC 7489 sends nothing to that address.
  • Of the top 1,000 domains in the September 2026 scan, 72.3% publish a valid DMARC record and 56.1% are in the enforced tier. Across ranks 100,000 to 1,000,000, those shares are 46.0% and 19.4%.
  • 402 of the domains with a usable SPF record in the September 2026 scan end it with +all. That lets any host on the internet send as them.
  • Of 1,321 registered US federal .gov domains, 81.0% publish p=reject in the September 2026 scan and 174 publish no DMARC record. That list is wider than the mail-sending executive-branch set that Binding Operational Directive 18-01 has held to p=reject since October 2018, so the gap isn't a count of agencies breaking the directive.
  • Between the August 2026 and September 2026 scans, 3,004 domains moved to a stronger policy, 1,302 of them by publishing a first p=none record, and 1,059 moved to a weaker one. 99.6% of the 926,567 domains measured both months didn't move.

What changed since August 2026

We compare every domain that was on the list both months, and answered both times, policy against policy on a four-step ladder: no usable record, p=none, p=quarantine, p=reject. A broken record counts as no usable record. If DNS failed on either side, the pair is dropped rather than counted as a change.

3,004
moved to a stronger policy
1,059
moved to a weaker policy
1,435
reached quarantine or reject
99.6%
of domains measured both months didn't move

926,567 domains were on both lists and answered both times. 922,504 of them didn't move between August 2026 and September 2026. 3,004 moved up the ladder and 1,059 moved down it. Moving up includes publishing a first p=none record, and 1,302 domains did exactly that. 1,435 reached quarantine or reject from p=none or no usable record. 831 of those had been sitting at p=none. The single most common move was no usable record to p=none, on 1,302 domains.

The headline shares, month against month

Share August 2026 September 2026 Change
Valid DMARC record 46.9% 47.2% +0.3 pts
Enforced tier 20.8% 20.8% 0.0 pts
p=reject 11.8% 11.8% 0.0 pts
Dead reporting, as a share of valid records 27.5% 27.7% +0.2 pts
No DMARC record 52.6% 52.2% -0.4 pts
SPF record published 64.0% 64.1% +0.1 pts
SPF permerror, as a share of SPF records 5.7% 5.7% 0.0 pts

Each month's share is over that month's own population, and 73,642 of this month's rows weren't on last month's list. So some of every change here is the list changing, not domains changing. The moves below only count domains present both months. Trust those first.

Every policy move, largest first

FromToDomains
no usable record p=none 1,302
p=none p=quarantine 636
p=none no usable record 491
no usable record p=quarantine 316
no usable record p=reject 288
p=quarantine p=reject 267
p=none p=reject 195
p=quarantine no usable record 185
p=reject no usable record 160
p=quarantine p=none 112
p=reject p=none 63
p=reject p=quarantine 48

73,642 domains in the September 2026 scan weren't on the August 2026 list, so there's nothing earlier to compare them with. 558 pairs were on both lists but failed to resolve in one month or the other. They're left out of every count here.

One month of movement is one data point. We'll draw trend lines once three editions exist, and not before.

The quality tiers

Each domain lands in one tier. Two questions decide it: do receivers act on its policy, and can anyone receive the reports it asks for?

Quality tiers across 1,000,424 measured domains No record 52.2%, Broken 0.5%, Dead reporting 13.1%, Monitoring 10.6%, Partial enforcement 2.7%, Enforced 20.8%. No record: 522,642 domains, 52.2% Broken: 5,127 domains, 0.5% Dead reporting: 131,008 domains, 13.1% Monitoring: 106,056 domains, 10.6% Partial enforcement: 27,237 domains, 2.7% Enforced: 208,354 domains, 20.8%
TierDomainsShare
No record 522,642 52.2%
Broken 5,127 0.5%
Dead reporting 131,008 13.1%
Monitoring 106,056 10.6%
Partial enforcement 27,237 2.7%
Enforced 208,354 20.8%
  • No record 522,642 domains (52.2%) No DMARC record at the _dmarc name.
  • Broken 5,127 domains (0.5%) A record exists and receivers ignore it: more than one record, a bad v= tag, or no usable p=.
  • Dead reporting 131,008 domains (13.1%) p=none, and no rua destination that can receive a report.
  • Monitoring 106,056 domains (10.6%) p=none, with at least one rua destination that can receive a report, or one the scan could not rule out.
  • Partial enforcement 27,237 domains (2.7%) quarantine or reject, weakened by pct below 100 or a softer sp=.
  • Enforced 208,354 domains (20.8%) quarantine or reject, with no pct or sp tag weakening it.

Two tags weaken a policy without changing it. pct= applies the policy to only that share of failing mail, and sp= sets a separate, often softer, policy for subdomains.

5,127 domains publish a broken record that receivers can't use, including 4,478 with more than one DMARC record. RFC 7489 tells receivers to treat that as no record at all. Broken rows aren't in the valid-record count.

Of the 472,655 valid records, 50.2% set p=none, 24.8% set p=quarantine and 25.1% set p=reject.

How much DMARC adoption there is depends on what you count. 47.8% of measured domains publish something at the _dmarc name, but that count mixes every tier, broken records included. 208,354 domains (20.8%) reach the enforced tier. 522,642 (52.2%) publish no record. Most of what's left sits at p=none: 131,008 dead and 106,056 monitoring.

Among domains at quarantine or reject, 10,279 apply the policy to only part of their failing mail with pct below 100, and 18,546 leave subdomains weaker than the organizational domain. Some do both. That's why those two figures add up to more than the 27,237-domain partial-enforcement tier.

Shares are of the 1,000,424 domains whose DMARC lookup answered. 343 domains failed to resolve after retries. They're excluded, not counted as having no record.

Run the same tier rules against your own domain.

Valid records and enforcement by rank

The top 1,000 domains publish and enforce at far higher rates than the rest of the million, so their numbers say little about it. Both series are shares of the domains in that bucket whose DMARC lookup answered.

DMARC adoption and enforcement by Tranco rank bucket Top 1k: Valid DMARC record 72.3%, Enforced tier 56.1%. 1k to 10k: Valid DMARC record 66.1%, Enforced tier 43.9%. 10k to 100k: Valid DMARC record 57.1%, Enforced tier 31.6%. 100k to 1M: Valid DMARC record 46.0%, Enforced tier 19.4%. 0% 25% 50% 75% 100% Valid DMARC record Enforced tier Top 1k, Valid DMARC record: 72.3% 72.3% Top 1k, Enforced tier: 56.1% 56.1% Top 1k 1k to 10k, Valid DMARC record: 66.1% 66.1% 1k to 10k, Enforced tier: 43.9% 43.9% 1k to 10k 10k to 100k, Valid DMARC record: 57.1% 57.1% 10k to 100k, Enforced tier: 31.6% 31.6% 10k to 100k 100k to 1M, Valid DMARC record: 46.0% 46.0% 100k to 1M, Enforced tier: 19.4% 19.4% 100k to 1M domaincanary.com/research/dmarc-census
Rank bucket Measured Valid DMARC Enforced tier
Top 1k 1,000 72.3% 56.1%
1k to 10k 9,000 66.1% 43.9%
10k to 100k 89,957 57.1% 31.6%
100k to 1M 899,700 46.0% 19.4%

Fewer domains publish a record the further down the list you go, and the enforced share falls faster than the valid-record share.

The buckets cover the Tranco million only. The 767 federal cohort domains outside the million count in the overall shares and sit in no bucket.

Adoption by country

Countries with a ccTLD of their own, shaded by the share of its measured domains publishing a valid DMARC record. Hover a country for its numbers.

Valid DMARC share by country-code TLD A world map shaded by valid DMARC share. 106 countries clear the 200-domain bar and 89 of them are shaded here. Norway leads at 78.2% and China trails at 15.9%. The table after the map lists every country measured. United Arab Emirates (.ae): 728 measured, 66.9% valid DMARC, 41.6% at enforcementAfghanistan: under 200 measured domainsAlbania: under 200 measured domainsArmenia (.am): 350 measured, 54.6% valid DMARC, 37.1% at enforcementAngola: under 200 measured domainsArgentina (.ar): 3,251 measured, 67.0% valid DMARC, 25.5% at enforcementAustria (.at): 3,019 measured, 63.9% valid DMARC, 32.3% at enforcementAustralia (.au): 8,383 measured, 73.0% valid DMARC, 40.7% at enforcementAzerbaijan (.az): 545 measured, 44.2% valid DMARC, 29.2% at enforcementBosnia and Herzegovina (.ba): 316 measured, 64.9% valid DMARC, 37.0% at enforcementBangladesh (.bd): 658 measured, 58.5% valid DMARC, 38.3% at enforcementBelgium (.be): 3,361 measured, 69.1% valid DMARC, 38.8% at enforcementBurkina Faso: under 200 measured domainsBulgaria (.bg): 1,228 measured, 65.0% valid DMARC, 30.9% at enforcementBurundi: under 200 measured domainsBenin: under 200 measured domainsBrunei: under 200 measured domainsBolivia: under 200 measured domainsBrazil (.br): 17,029 measured, 62.3% valid DMARC, 27.0% at enforcementBahamas: under 200 measured domainsBhutan: under 200 measured domainsBotswana: under 200 measured domainsBelarus (.by): 1,284 measured, 47.5% valid DMARC, 26.1% at enforcementBelize: under 200 measured domainsCanada (.ca): 6,064 measured, 63.0% valid DMARC, 33.2% at enforcementDem. Rep. Congo: under 200 measured domainsCentral African Rep.: under 200 measured domainsCongo: under 200 measured domainsSwitzerland (.ch): 3,820 measured, 65.5% valid DMARC, 37.5% at enforcementCôte d'Ivoire: under 200 measured domainsChile (.cl): 2,616 measured, 65.3% valid DMARC, 34.1% at enforcementCameroon: under 200 measured domainsChina (.cn): 10,338 measured, 15.9% valid DMARC, 8.7% at enforcementColombia: .co is registered worldwide, so it is measured in the table but not shaded as a countryCosta Rica (.cr): 222 measured, 64.4% valid DMARC, 46.4% at enforcementCuba: under 200 measured domainsCyprus (.cy): 200 measured, 62.5% valid DMARC, 30.0% at enforcementCzechia (.cz): 4,980 measured, 63.7% valid DMARC, 26.6% at enforcementGermany (.de): 26,938 measured, 60.6% valid DMARC, 31.0% at enforcementDjibouti: under 200 measured domainsDenmark (.dk): 2,257 measured, 74.8% valid DMARC, 52.7% at enforcementDominican Republic (.do): 275 measured, 59.6% valid DMARC, 32.4% at enforcementAlgeria (.dz): 217 measured, 68.2% valid DMARC, 47.9% at enforcementEcuador (.ec): 563 measured, 66.3% valid DMARC, 44.2% at enforcementEstonia (.ee): 739 measured, 73.6% valid DMARC, 44.8% at enforcementEgypt (.eg): 324 measured, 55.6% valid DMARC, 34.9% at enforcementW. Sahara: under 200 measured domainsEritrea: under 200 measured domainsSpain (.es): 5,409 measured, 64.7% valid DMARC, 34.6% at enforcementEthiopia: under 200 measured domainsFinland (.fi): 2,254 measured, 66.1% valid DMARC, 28.9% at enforcementFiji: under 200 measured domainsFalkland Is.: under 200 measured domainsFrance (.fr): 10,660 measured, 64.3% valid DMARC, 29.9% at enforcementGabon: under 200 measured domainsUnited Kingdom (.uk): 29,040 measured, 40.9% valid DMARC, 21.7% at enforcementGeorgia (.ge): 454 measured, 49.8% valid DMARC, 23.6% at enforcementGhana: under 200 measured domainsGreenland: under 200 measured domainsGambia: under 200 measured domainsGuinea: under 200 measured domainsEq. Guinea: under 200 measured domainsGreece (.gr): 3,551 measured, 67.0% valid DMARC, 26.3% at enforcementGuatemala (.gt): 236 measured, 61.9% valid DMARC, 39.0% at enforcementGuinea-Bissau: under 200 measured domainsGuyana: under 200 measured domainsHonduras: under 200 measured domainsCroatia (.hr): 1,116 measured, 70.1% valid DMARC, 28.5% at enforcementHaiti: under 200 measured domainsHungary (.hu): 2,998 measured, 61.9% valid DMARC, 21.5% at enforcementIndonesia (.id): 4,834 measured, 54.0% valid DMARC, 25.3% at enforcementIreland (.ie): 1,440 measured, 70.7% valid DMARC, 36.5% at enforcementIsrael (.il): 1,763 measured, 66.9% valid DMARC, 22.4% at enforcementIndia (.in): 12,337 measured, 48.5% valid DMARC, 25.1% at enforcementIraq: under 200 measured domainsIran (.ir): 3,176 measured, 38.5% valid DMARC, 21.4% at enforcementIceland (.is): 441 measured, 56.2% valid DMARC, 30.6% at enforcementItaly (.it): 14,591 measured, 46.0% valid DMARC, 16.6% at enforcementJamaica: under 200 measured domainsJordan: under 200 measured domainsJapan (.jp): 16,906 measured, 56.7% valid DMARC, 12.9% at enforcementKenya (.ke): 545 measured, 56.0% valid DMARC, 28.1% at enforcementKyrgyzstan (.kg): 271 measured, 46.5% valid DMARC, 31.4% at enforcementCambodia: under 200 measured domainsNorth Korea: under 200 measured domainsSouth Korea (.kr): 4,389 measured, 23.9% valid DMARC, 4.8% at enforcementKuwait: under 200 measured domainsKazakhstan (.kz): 1,459 measured, 38.5% valid DMARC, 21.4% at enforcementLaos (.la): 201 measured, 27.9% valid DMARC, 14.9% at enforcementLebanon: under 200 measured domainsSri Lanka (.lk): 523 measured, 44.2% valid DMARC, 18.4% at enforcementLiberia: under 200 measured domainsLesotho: under 200 measured domainsLithuania (.lt): 1,089 measured, 68.2% valid DMARC, 31.3% at enforcementLuxembourg (.lu): 274 measured, 69.7% valid DMARC, 47.1% at enforcementLatvia (.lv): 851 measured, 62.6% valid DMARC, 40.4% at enforcementLibya: under 200 measured domainsMorocco (.ma): 570 measured, 50.2% valid DMARC, 24.0% at enforcementMoldova (.md): 428 measured, 61.4% valid DMARC, 32.2% at enforcementMontenegro: .me is registered worldwide, so it is measured in the table but not shaded as a countryMadagascar: under 200 measured domainsNorth Macedonia (.mk): 286 measured, 58.0% valid DMARC, 27.3% at enforcementMali: under 200 measured domainsMyanmar: under 200 measured domainsMongolia: under 200 measured domainsMauritania: under 200 measured domainsMalawi: under 200 measured domainsMexico (.mx): 3,356 measured, 56.3% valid DMARC, 29.7% at enforcementMalaysia (.my): 1,625 measured, 56.9% valid DMARC, 36.2% at enforcementMozambique: under 200 measured domainsNamibia: under 200 measured domainsNew Caledonia: under 200 measured domainsNiger: under 200 measured domainsNigeria (.ng): 696 measured, 52.0% valid DMARC, 18.4% at enforcementNicaragua: under 200 measured domainsNetherlands (.nl): 18,759 measured, 37.4% valid DMARC, 20.3% at enforcementNorway (.no): 1,755 measured, 78.2% valid DMARC, 49.7% at enforcementNepal (.np): 263 measured, 43.3% valid DMARC, 25.5% at enforcementNew Zealand (.nz): 1,703 measured, 71.3% valid DMARC, 38.2% at enforcementOman: under 200 measured domainsPanama: under 200 measured domainsPeru (.pe): 1,240 measured, 59.0% valid DMARC, 32.3% at enforcementPapua New Guinea: under 200 measured domainsPhilippines (.ph): 1,360 measured, 52.7% valid DMARC, 28.5% at enforcementPakistan (.pk): 1,703 measured, 49.0% valid DMARC, 17.4% at enforcementPoland (.pl): 9,163 measured, 66.0% valid DMARC, 33.6% at enforcementPuerto Rico: under 200 measured domainsPalestine: under 200 measured domainsPortugal (.pt): 2,035 measured, 69.1% valid DMARC, 38.2% at enforcementParaguay (.py): 310 measured, 68.1% valid DMARC, 42.9% at enforcementQatar: under 200 measured domainsRomania (.ro): 4,106 measured, 70.2% valid DMARC, 29.1% at enforcementSerbia (.rs): 1,060 measured, 57.5% valid DMARC, 21.9% at enforcementRussia (.ru): 36,982 measured, 39.1% valid DMARC, 20.6% at enforcementRwanda: under 200 measured domainsSaudi Arabia (.sa): 552 measured, 73.9% valid DMARC, 57.4% at enforcementSolomon Is.: under 200 measured domainsSudan: under 200 measured domainsSweden (.se): 3,466 measured, 66.4% valid DMARC, 36.6% at enforcementSlovenia (.si): 789 measured, 70.5% valid DMARC, 33.0% at enforcementSlovakia (.sk): 1,855 measured, 66.6% valid DMARC, 30.4% at enforcementSierra Leone: under 200 measured domainsSenegal: under 200 measured domainsSomalia: under 200 measured domainsSuriname: under 200 measured domainsS. Sudan: under 200 measured domainsEl Salvador: under 200 measured domainsSyria: under 200 measured domainseSwatini: under 200 measured domainsChad: under 200 measured domainsFr. S. Antarctic Lands: under 200 measured domainsTogo: under 200 measured domainsThailand (.th): 947 measured, 54.7% valid DMARC, 29.3% at enforcementTajikistan: under 200 measured domainsTimor-Leste: under 200 measured domainsTurkmenistan: under 200 measured domainsTunisia (.tn): 305 measured, 40.7% valid DMARC, 18.7% at enforcementTurkey (.tr): 3,072 measured, 61.8% valid DMARC, 36.2% at enforcementTrinidad and Tobago: under 200 measured domainsTaiwan (.tw): 2,766 measured, 43.2% valid DMARC, 20.5% at enforcementTanzania (.tz): 224 measured, 68.8% valid DMARC, 41.5% at enforcementUkraine (.ua): 4,805 measured, 46.1% valid DMARC, 20.4% at enforcementUganda: under 200 measured domainsUnited States (.us): 3,685 measured, 34.4% valid DMARC, 22.0% at enforcementUruguay (.uy): 481 measured, 68.2% valid DMARC, 34.7% at enforcementUzbekistan (.uz): 639 measured, 46.9% valid DMARC, 26.8% at enforcementVenezuela (.ve): 241 measured, 58.5% valid DMARC, 39.0% at enforcementVietnam (.vn): 2,731 measured, 34.3% valid DMARC, 17.7% at enforcementVanuatu: under 200 measured domainsYemen: under 200 measured domainsSouth Africa (.za): 2,833 measured, 64.8% valid DMARC, 34.9% at enforcementZambia: under 200 measured domainsZimbabwe: under 200 measured domains Hong Kong (.hk): 889 measured, 58.2% valid DMARC, 35.1% at enforcementSingapore (.sg): 904 measured, 68.3% valid DMARC, 46.0% at enforcement domaincanary.com/research/dmarc-census
  • under 30%
  • 30 to 39%
  • 40 to 49%
  • 50 to 59%
  • 60% and up
  • under 200 domains
CountryccTLDMeasuredValid DMARC At enforcement
Norway .no 1,755 78.2% 49.7%
Denmark .dk 2,257 74.8% 52.7%
Saudi Arabia .sa 552 73.9% 57.4%
Estonia .ee 739 73.6% 44.8%
Australia .au 8,383 73.0% 40.7%
Anguilla .ai 3,540 72.7% 40.7%
New Zealand .nz 1,703 71.3% 38.2%
Ireland .ie 1,440 70.7% 36.5%
Slovenia .si 789 70.5% 33.0%
Romania .ro 4,106 70.2% 29.1%
Croatia .hr 1,116 70.1% 28.5%
Luxembourg .lu 274 69.7% 47.1%
Portugal .pt 2,035 69.1% 38.2%
Belgium .be 3,361 69.1% 38.8%
Tanzania .tz 224 68.8% 41.5%
Singapore .sg 904 68.3% 46.0%
Lithuania .lt 1,089 68.2% 31.3%
Algeria .dz 217 68.2% 47.9%
Uruguay .uy 481 68.2% 34.7%
Paraguay .py 310 68.1% 42.9%
Argentina .ar 3,251 67.0% 25.5%
Greece .gr 3,551 67.0% 26.3%
United Arab Emirates .ae 728 66.9% 41.6%
Israel .il 1,763 66.9% 22.4%
Slovakia .sk 1,855 66.6% 30.4%
Sweden .se 3,466 66.4% 36.6%
Ecuador .ec 563 66.3% 44.2%
Finland .fi 2,254 66.1% 28.9%
Poland .pl 9,163 66.0% 33.6%
Switzerland .ch 3,820 65.5% 37.5%
Chile .cl 2,616 65.3% 34.1%
Bulgaria .bg 1,228 65.0% 30.9%
Bosnia and Herzegovina .ba 316 64.9% 37.0%
South Africa .za 2,833 64.8% 34.9%
Spain .es 5,409 64.7% 34.6%
Costa Rica .cr 222 64.4% 46.4%
France .fr 10,660 64.3% 29.9%
Austria .at 3,019 63.9% 32.3%
Czechia .cz 4,980 63.7% 26.6%
Canada .ca 6,064 63.0% 33.2%
Latvia .lv 851 62.6% 40.4%
Cyprus .cy 200 62.5% 30.0%
Brazil .br 17,029 62.3% 27.0%
Hungary .hu 2,998 61.9% 21.5%
Guatemala .gt 236 61.9% 39.0%
Turkey .tr 3,072 61.8% 36.2%
Moldova .md 428 61.4% 32.2%
Germany .de 26,938 60.6% 31.0%
Dominican Republic .do 275 59.6% 32.4%
Peru .pe 1,240 59.0% 32.3%
Bangladesh .bd 658 58.5% 38.3%
Venezuela .ve 241 58.5% 39.0%
Hong Kong .hk 889 58.2% 35.1%
North Macedonia .mk 286 58.0% 27.3%
Serbia .rs 1,060 57.5% 21.9%
Malaysia .my 1,625 56.9% 36.2%
Japan .jp 16,906 56.7% 12.9%
Mexico .mx 3,356 56.3% 29.7%
Iceland .is 441 56.2% 30.6%
Kenya .ke 545 56.0% 28.1%
Egypt .eg 324 55.6% 34.9%
Thailand .th 947 54.7% 29.3%
European Union .eu 5,922 54.7% 28.0%
Armenia .am 350 54.6% 37.1%
Indonesia .id 4,834 54.0% 25.3%
Niue .nu 280 52.9% 23.6%
Philippines .ph 1,360 52.7% 28.5%
British Indian Ocean Territory .io 10,072 52.4% 30.8%
Nigeria .ng 696 52.0% 18.4%
Colombia .co 7,121 52.0% 27.5%
Micronesia .fm 327 51.7% 21.7%
Morocco .ma 570 50.2% 24.0%
Georgia .ge 454 49.8% 23.6%
Pakistan .pk 1,703 49.0% 17.4%
Guernsey .gg 763 48.9% 23.9%
India .in 12,337 48.5% 25.1%
Belarus .by 1,284 47.5% 26.1%
Uzbekistan .uz 639 46.9% 26.8%
Kyrgyzstan .kg 271 46.5% 31.4%
Ukraine .ua 4,805 46.1% 20.4%
Italy .it 14,591 46.0% 16.6%
Azerbaijan .az 545 44.2% 29.2%
Sri Lanka .lk 523 44.2% 18.4%
Nepal .np 263 43.3% 25.5%
Taiwan .tw 2,766 43.2% 20.5%
United Kingdom .uk 29,040 40.9% 21.7%
Tunisia .tn 305 40.7% 18.7%
Saint Helena .sh 276 40.6% 25.7%
Russia .ru 36,982 39.1% 20.6%
Iran .ir 3,176 38.5% 21.4%
Kazakhstan .kz 1,459 38.5% 21.4%
Netherlands .nl 18,759 37.4% 20.3%
Tuvalu .tv 2,750 35.6% 16.8%
United States .us 3,685 34.4% 22.0%
Vietnam .vn 2,731 34.3% 17.7%
Isle of Man .im 275 33.8% 20.4%
Montenegro .me 2,902 33.6% 17.6%
Soviet Union .su 1,018 30.7% 15.7%
Samoa .ws 385 30.6% 20.5%
Laos .la 201 27.9% 14.9%
Tonga .to 855 26.5% 12.4%
South Korea .kr 4,389 23.9% 4.8%
Sao Tome and Principe .st 255 20.0% 12.5%
Palau .pw 300 19.0% 10.0%
China .cn 10,338 15.9% 8.7%
Cocos Islands .cc 4,624 14.4% 8.1%

106 countries have at least 200 measured domains under their ccTLD in this snapshot, and 89 of them are shaded on the map. Norway leads: 78.2% of measured .no domains publish a valid DMARC record, against 15.9% for .cn at the other end.

A domain counts toward a country by its TLD alone: every .de domain is Germany, wherever it is hosted or owned. Domains on gTLDs like .com carry no country signal and sit outside the map, which is what the TLD table below is for. ccTLDs registered mostly from outside their country, .io, .ai, .co, .tv and .me among them, are measured and tabled but never shaded, rather than coloring the wrong place. Countries with fewer than 200 measured domains stay uncolored. A few too small to draw at this size, Singapore and Hong Kong among them, are marked with a dot in the same colors.

Adoption by TLD

The same measurement with the country question dropped, so the generic TLDs the map cannot show are here too. Every TLD with at least 1,000 measured domains, biggest first.

TLD Measured Valid DMARC At enforcement
.com 426,315 48.2% 23.9%
.net 48,757 36.0% 18.7%
.org 38,809 54.6% 26.6%
.ru 36,502 39.4% 20.8%
.uk 29,040 40.9% 21.7%
.de 26,938 60.6% 31.0%
.nl 18,759 37.4% 20.3%
.br 17,029 62.3% 27.0%
.jp 16,906 56.7% 12.9%
.it 14,591 46.0% 16.6%
.in 12,337 48.5% 25.1%
.fr 10,660 64.3% 29.9%
.cn 10,338 15.9% 8.7%
.io 10,072 52.4% 30.8%
.pl 9,163 66.0% 33.6%
.au 8,383 73.0% 40.7%
.co 7,121 52.0% 27.5%
.xyz 6,743 11.0% 5.1%
.ca 6,064 63.0% 33.2%
.eu 5,922 54.7% 28.0%
.es 5,409 64.7% 34.6%
.info 5,389 31.2% 15.7%
.cz 4,980 63.7% 26.6%
.top 4,960 5.8% 3.1%
.id 4,834 54.0% 25.3%

.com is the largest registry in the snapshot at 426,315 measured domains, 48.2% of them publishing a valid DMARC record. 61 further TLDs clear the 1,000-domain bar and are not listed here; the full set is in the published aggregates.

A domain counts under the last label of its name, so a .co.uk domain is counted under .uk. Shares divide by measured domains, the rows whose DMARC lookup answered, which is the same denominator the rest of this report uses.

Reports that go nowhere

The rua tag on a DMARC record names the addresses receivers send aggregate reports to. A record with a rua on it looks like monitoring. Whether anything can arrive depends on a second record, and the destination has to publish that one.

131,008
p=none with no reachable rua
34,749
unauthorized external rua
30,036
every rua destination dead
162,715
authorized external rua

131,008 domains publish a p=none DMARC record whose reporting address is missing, dead, or never authorized. That's 13.1% of measured domains and 27.7% of every valid record in the scan. We call it monitoring theater. The record passes a presence scan as adoption, and no report it asks for ever arrives.

The scan reads DNS, so it can see whether a destination can receive a report. It can't see whether anyone reads one. The monitoring tier means a report can arrive, and nothing stronger.

When a rua address sits on another organization's domain, RFC 7489 requires an authorization TXT record at <domain>._report._dmarc.<rua-host>. A receiver that finds no DMARC version tag there must not send the report, and it raises no error to the domain that named the address. 34,749 domains in this scan name at least one outside address that never authorized them. Reports to that address never arrive. Some of those domains also name an address that does work, and those reports still arrive.

30,036 domains name only destinations that are provably dead. They're the part of the unauthorized group with no working address beside the dead one. Neither group covers the whole dead tier, because a p=none record with no rua tag is dead too: it names no destination at all.

193,499 domains name at least one outside reporting address. 141 of them name at least one address the scan could not resolve to a verdict, which counts as neither authorized nor dead. A domain is counted once in each category it has an address in, so the categories overlap. At least 2,053 domains name more than one kind, which is why the counts sum past the total.

SPF

DMARC passes on SPF or DKIM alignment. An SPF record that receivers refuse to evaluate takes half the alignment surface with it.

64.1%
of measured domains publish SPF
5.7%
of published SPF records permerror

641,215 of the 1,000,424 measured domains publish an SPF record. 36,598 of those records (5.7%) return permerror, which means receivers refuse to evaluate the record at all. 16,482 exceed the ten-lookup limit and 10,448 publish more than one record. The scan also flags an include that points at a name with no SPF record, and an include or redirect loop. It doesn't parse for other syntax errors, so the permerror count is a floor.

How the records end

EndingDomainsShare
-all (fail) 236,871 39.2%
~all (softfail) 333,354 55.1%
?all (neutral) 15,927 2.6%
+all (pass everything) 402 0.1%
no all mechanism 18,063 3.0%

Shares are of the 604,617 domains with a usable SPF record. Records that already permerror are left out, because receivers never reach their final mechanism.

US federal .gov domains

Every registered federal .gov zone, from CISA's public registry: executive, legislative and judicial. CISA's Binding Operational Directive 18-01 required executive-branch domains that send mail to reach p=reject by October 2018. This list is wider than that, and its parked and redirect names have no mail to protect, so its reject share is not a compliance rate.

TierDomainsShare
No record 174 13.2%
Broken 7 0.5%
Dead reporting 25 1.9%
Monitoring 19 1.4%
Partial enforcement 9 0.7%
Enforced 1,087 82.3%

The enforced count, 1,087, sits above the reject count, 1,070, because 26 quarantine domains join the tier and 9 weakened domains leave it.

The federal reject share is 81.0% (1,070 domains). Across the whole scan it's 11.8% (118,536 domains), and that figure already includes this cohort. 174 federal domains (13.2%) publish no DMARC record, and 25 publish a dead one. Some of those are parked names that send no mail. The registry doesn't say which.

1,321 domains in the cohort. 81.0% publish p=reject and 83.0% publish quarantine or reject.

Who is named to receive the reports

The rua tag is the one part of a DMARC record that names a collector, so counting those names shows which platforms are named to receive reports. A name in DNS isn't proof a report arrives, and this isn't advertised market share. The largest named collector is Cloudflare, on 28,095 domains, then Brevo at 16,177 and Valimail at 14,333.

Free collectors matter here. A working rua is exactly what moves a record from dead to monitoring, and a free one means an operator doesn't need a contract to get a first report. Cloudflare, the largest collector in the scan, includes collection with the domain. Postmark's free DMARC Digests is the sixth largest collector.

Each bar counts the domains whose rua list names a destination on that platform, once per domain. A domain naming two platforms counts for both.

Domains reporting to each DMARC platform (top 12 of 27 named) Cloudflare 28,095, Brevo 16,177, Valimail 14,333, Proofpoint 12,597, dmarcian 10,265, Postmark 10,141, Mimecast 6,682, GoDaddy 6,185, Red Sift 5,410, EasyDMARC 5,328, MxToolbox 4,858, DMARC Advisor 3,111. Cloudflare: 28,095 domains Cloudflare 28,095 Brevo: 16,177 domains Brevo 16,177 Valimail: 14,333 domains Valimail 14,333 Proofpoint: 12,597 domains Proofpoint 12,597 dmarcian: 10,265 domains dmarcian 10,265 Postmark: 10,141 domains Postmark 10,141 Mimecast: 6,682 domains Mimecast 6,682 GoDaddy: 6,185 domains GoDaddy 6,185 Red Sift: 5,410 domains Red Sift 5,410 EasyDMARC: 5,328 domains EasyDMARC 5,328 MxToolbox: 4,858 domains MxToolbox 4,858 DMARC Advisor: 3,111 domains DMARC Advisor 3,111

141,242 matches across 27 platforms. The largest destination matching no platform in the list is axa.com, named by 4,114 domains. A destination like this is usually a company collecting reports for its own portfolio of domains rather than a vendor.

MTA-STS, TLS-RPT and BIMI

Each of these three records sits far behind DMARC.

9,563
MTA-STS policy record
11,542
TLS-RPT record
17,428
BIMI record

As shares of the 1,000,424 measured domains: 1.0% MTA-STS, 1.2% TLS-RPT and 1.7% BIMI.

Methodology

Population Tranco list GQJJK, 1,000,000 domains, plus the cohort frames below. 1,000,767 rows were scanned in total.
Frames tranco: 1,000,000 domains from https://tranco-list.eu/list/GQJJK
cohort:us-federal-gov: 1,321 domains from research/cohorts/us-federal-gov.csv
554 cohort domains also rank in the Tranco million and were scanned once, which is why the frames sum to more than the row count.
Collection window 2026-09-01T07:20:01.523Z to 2026-09-01T08:49:48.941Z. Aggregated 2026-09-03T16:20:26.246Z.
Resolver Queries went to unbound:5353, with retries against 1.1.1.1, 8.8.8.8.
Error rate 343 DMARC lookups failed after retries, which is 0.03% of the scanned rows. Those rows are excluded from every share on this page.
Public Suffix List Whether a reporting address is external is decided by comparing organizational domains against the Public Suffix List fetched 2026-09-01T07:20:00.670Z, sha256 24b79d731bb0d296. The list is pinned per snapshot so a re-run classifies destinations the same way. The list is used with its private section, so two customers of one platform that publishes a private rule count as external to each other, and a report address on a sibling tenant needs its own authorization record.
Multiple records More than one v=DMARC1 record at _dmarc is invalid per RFC 7489. This scan scores those 4,478 domains as broken.
Vendor classification Each rua destination is classified by the host that receives the mail, so a platform reselling another platform's collection counts under the receiving host. Hosts the map does not recognize stay unmatched rather than guessed.
Absence versus failure NXDOMAIN or an empty TXT answer is absence. A timeout or SERVFAIL after retries is unknown. Failures are never counted as absence.
Month over month Each domain's policy is compared against the August 2026 snapshot's stored policy for the same domain. Pairs with a failed lookup on either side are dropped and counted separately, so a DNS failure never publishes as a policy change.
Independent comparison The adoption tracker at dmarcdkim.com/dmarc-adoption updates daily over its own population of 1.35 million accumulated domains. When we checked it in August 2026 it reported 11.4% at full reject, where this scan finds 11.8% (118,536 domains) at p=reject. This scan's count includes 1,839 rejects weakened by pct and 7,723 with a weaker sp, which the tier framework scores as partial. The two measurements agree closely on policy rates. Their adoption headlines are not directly comparable, because the tracker measures an accumulated set of domains and this scan measures one pinned Tranco snapshot. We haven't compared the two populations.
Scanner Version a551ef2-dirty.

Limitations

The scan reads what domains publish in DNS. Nothing here is a delivered-mail pass rate or an actual rejection.

A domain whose reporting address couldn't be resolved to a verdict counts as neither authorized nor dead. That holds the headline figures down, not up.

  • Two editions give one month of change. That's a data point. We'll draw trend lines once there are three.
  • DNS at a million names still fails. 343 lookups ended in error after retries and are excluded rather than scored as no DMARC. The flakiness that remains is a bound on every rate.
  • rua authorization was checked at scan time only. A destination that authorized the next day, or revoked the next day, isn't in this snapshot.
  • The named cohort is one list so far: 1,321 US federal domains. Other planned cohorts aren't in this edition.
  • Vendor classification of rua hosts is incomplete. Unmatched destinations will move into named platforms in later revisions.

The data

  • aggregates.json: every count and share on this page, as published. Dates, list ids and the scanner version are in the manifest next to it.
  • Data repository: the per-snapshot files.

Using this

The aggregate data is published under CC BY 4.0. Reuse it, including commercially, with attribution. Suggested citation:

DomainCanary. DMARC Census, 2026-09. https://staging.domaincanary.com/research/dmarc-census. Data licensed CC BY 4.0.