DomainCanary Start free

DMARC Census

DMARC Census, October 2026

We looked up the DMARC and SPF records of 1,000,766 domains. For each one, we checked whether it publishes a policy receivers act on and whether anyone can receive its DMARC reports.

35,050 of them name an outside address for their DMARC reports, and the address's owner hadn't published an authorization record for them. Receivers that check for that record won't send reports there. 30,229 of these domains name only outside addresses without authorization. DMARC report addresses without authorization is our write-up of this finding.

We scanned the Tranco top 1 million (list Q2K34) and 1,321 US federal domains on 1 Oct 2026. 555 of the federal domains are already in the million, so the total is 1,000,766 domains.

Most percentages on this page are out of the 1,000,420 domains whose DMARC lookup got an answer. We call these the measured domains. Where we use a different group, we say which. We left out the 346 lookups that failed after retries, because a failed lookup can't show whether a record exists.

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

  • 35,050 domains in the October 2026 scan name an outside reporting address, and the address's owner hadn't published an authorization record for them when we scanned. Receivers that check for that record won't send reports there. 30,229 of these domains in the October 2026 scan name only outside addresses without authorization.
  • In the October 2026 scan of the Tranco top million and a US federal cohort, 129,483 domains publish p=none and name no reporting address that can receive a report. That's 27.5% of the 470,797 valid DMARC records in the scan.
  • 47.1% of the 1,000,420 domains we could measure in October 2026 publish a DMARC record receivers can act on. 47.6% publish something at the _dmarc name. 52.4% publish nothing.
  • 20.7% of the domains measured in October 2026, 207,185 of them, publish quarantine or reject with no pct or sp tag weakening it. 11.5% publish p=reject.
  • Of the top 1,000 domains in the October 2026 scan, 73.7% publish a valid DMARC record and 57.3% are in the enforced tier. Across ranks 100,000 to 1,000,000, those shares are 45.8% and 19.2%.
  • 387 of the domains with a usable SPF record in the October 2026 scan end it with +all. That lets any host on the internet send as them.
  • Of 1,321 registered US federal .gov domains, 80.3% publish p=reject in the October 2026 scan and 183 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 September 2026 and October 2026 scans, 8,103 domains moved to a stronger policy, 3,420 of them by publishing a first p=none record, and 2,129 moved to a weaker one. 98.8% of the 853,407 domains we measured in both months kept the same policy.

What changed since September 2026

We compare the policy of every domain that was on the list in both months and whose lookup got an answer both times. From weakest to strongest, the policies are no usable record, p=none, p=quarantine and p=reject. A broken record counts as no usable record. If DNS failed in either month, we leave the domain out and don't count it as a change.

8,103
moved to a stronger policy
2,129
moved to a weaker policy
4,034
reached quarantine or reject
98.8%
of domains measured in both months kept the same policy

853,407 domains were on both lists and got an answer both times. 843,175 of them kept the same policy from September 2026 to October 2026. 8,103 moved to a stronger policy and 2,129 to a weaker one. The stronger count includes 3,420 domains that published their first p=none record. 4,034 reached quarantine or reject from p=none or no usable record, and 2,432 of those had been at p=none. The most common change was no usable record to p=none, on 3,420 domains.

The headline shares, month against month

Share September 2026 October 2026 Change
Valid DMARC record 47.2% 47.1% -0.1 pts
Enforced tier 20.8% 20.7% -0.1 pts
p=reject 11.8% 11.5% -0.3 pts
Dead reporting, as a share of valid records 27.7% 27.5% -0.2 pts
No DMARC record 52.2% 52.4% +0.2 pts
SPF record published 64.1% 63.6% -0.5 pts
SPF permerror, as a share of SPF records 5.7% 5.8% +0.1 pts

The Tranco list changes from month to month. 146,921 domains in the October 2026 scan weren't on the September 2026 list, so part of every change in this table comes from that turnover. The changes below count only domains that were on both lists, so start with those.

Every policy change, largest first

FromToDomains
no usable record p=none 3,420
p=none p=quarantine 1,665
p=none no usable record 1,070
no usable record p=quarantine 815
no usable record p=reject 787
p=none p=reject 767
p=quarantine p=reject 649
p=quarantine no usable record 323
p=quarantine p=none 240
p=reject no usable record 234
p=reject p=none 149
p=reject p=quarantine 113

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

This table compares one month with the month before, so it shows one month of movement.

The quality tiers

We put each domain in one tier, based on whether receivers act on its policy and whether anyone can receive its DMARC reports.

Quality tiers across 1,000,420 measured domains No record 52.4%, Broken 0.5%, Dead reporting 12.9%, Monitoring 10.7%, Partial enforcement 2.7%, Enforced 20.7%. No record: 524,568 domains, 52.4% Broken: 5,055 domains, 0.5% Dead reporting: 129,483 domains, 12.9% Monitoring: 106,661 domains, 10.7% Partial enforcement: 27,468 domains, 2.7% Enforced: 207,185 domains, 20.7%
TierDomainsShare
No record 524,568 52.4%
Broken 5,055 0.5%
Dead reporting 129,483 12.9%
Monitoring 106,661 10.7%
Partial enforcement 27,468 2.7%
Enforced 207,185 20.7%
  • No record 524,568 domains (52.4%) No DMARC record at the _dmarc name.
  • Broken 5,055 domains (0.5%) A record exists and receivers ignore it: more than one record, a bad v= tag, or no usable p=.
  • Dead reporting 129,483 domains (12.9%) p=none, and no rua destination that can receive a report.
  • Monitoring 106,661 domains (10.7%) p=none, with at least one rua destination that can receive a report, or one the scan could not rule out.
  • Partial enforcement 27,468 domains (2.7%) quarantine or reject, weakened by pct below 100 or a softer sp=.
  • Enforced 207,185 domains (20.7%) 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,055 domains publish a broken record that receivers can't use, including 4,318 with more than one DMARC record. RFC 7489 tells receivers to treat that as no record at all, so we don't count broken records as valid.

Of the 470,797 valid records, 50.2% set p=none, 25.4% set p=quarantine and 24.5% set p=reject.

47.6% of measured domains publish something at the _dmarc name, but that count mixes every tier, broken records included. 207,185 domains (20.7%) reach the enforced tier. 524,568 (52.4%) publish no record. Most of the rest publish p=none, with 129,483 in the dead tier and 106,661 in monitoring.

Among domains at quarantine or reject, 10,378 apply the policy to only part of their failing mail with pct below 100, and 18,692 leave subdomains weaker than the organizational domain. Some domains do both, so the two figures add up to more than the 27,468 domains in the partial-enforcement tier.

Percentages are out of the 1,000,420 domains whose DMARC lookup got an answer. We left out the 346 domains whose lookup failed after retries, because a failed lookup can't show whether a record exists.

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 don't quote their percentages for the whole list. Both bars are percentages of the domains in that rank range whose DMARC lookup got an answer.

DMARC adoption and enforcement by Tranco rank range Top 1k: Valid DMARC record 73.7%, Enforced tier 57.3%. 1k to 10k: Valid DMARC record 66.4%, Enforced tier 44.2%. 10k to 100k: Valid DMARC record 57.6%, Enforced tier 32.2%. 100k to 1M: Valid DMARC record 45.8%, Enforced tier 19.2%. 0% 25% 50% 75% 100% Valid DMARC record Enforced tier Top 1k, Valid DMARC record: 73.7% 73.7% Top 1k, Enforced tier: 57.3% 57.3% Top 1k 1k to 10k, Valid DMARC record: 66.4% 66.4% 1k to 10k, Enforced tier: 44.2% 44.2% 1k to 10k 10k to 100k, Valid DMARC record: 57.6% 57.6% 10k to 100k, Enforced tier: 32.2% 32.2% 10k to 100k 100k to 1M, Valid DMARC record: 45.8% 45.8% 100k to 1M, Enforced tier: 19.2% 19.2% 100k to 1M domaincanary.com/research/dmarc-census
Rank range Measured Valid DMARC Enforced tier
Top 1k 1,000 73.7% 57.3%
1k to 10k 9,000 66.4% 44.2%
10k to 100k 89,979 57.6% 32.2%
100k to 1M 899,675 45.8% 19.2%

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

The rank ranges cover the Tranco million only. The 766 federal domains outside the million count toward the overall percentages but not toward any rank range.

Adoption by country

The map shades each country by the percentage of measured domains under its ccTLD that publish a valid DMARC record. Hover over a country to see 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.0%. The table after the map lists every country measured. United Arab Emirates (.ae): 737 measured, 68.4% valid DMARC, 42.7% at enforcementAfghanistan: under 200 measured domainsAlbania: under 200 measured domainsArmenia (.am): 375 measured, 56.8% valid DMARC, 37.3% at enforcementAngola: under 200 measured domainsArgentina (.ar): 3,338 measured, 67.9% valid DMARC, 25.3% at enforcementAustria (.at): 3,107 measured, 64.1% valid DMARC, 33.0% at enforcementAustralia (.au): 7,642 measured, 74.2% valid DMARC, 42.5% at enforcementAzerbaijan (.az): 558 measured, 42.7% valid DMARC, 27.4% at enforcementBosnia and Herzegovina (.ba): 325 measured, 67.1% valid DMARC, 37.2% at enforcementBangladesh (.bd): 681 measured, 59.6% valid DMARC, 37.4% at enforcementBelgium (.be): 3,320 measured, 70.6% valid DMARC, 38.4% at enforcementBurkina Faso: under 200 measured domainsBulgaria (.bg): 1,288 measured, 65.7% valid DMARC, 31.1% at enforcementBurundi: under 200 measured domainsBenin: under 200 measured domainsBrunei: under 200 measured domainsBolivia (.bo): 207 measured, 67.6% valid DMARC, 51.2% at enforcementBrazil (.br): 17,571 measured, 62.1% valid DMARC, 26.7% at enforcementBahamas: under 200 measured domainsBhutan: under 200 measured domainsBotswana: under 200 measured domainsBelarus (.by): 1,338 measured, 48.4% valid DMARC, 26.6% at enforcementBelize: under 200 measured domainsCanada (.ca): 5,487 measured, 66.3% valid DMARC, 36.4% at enforcementDem. Rep. Congo: under 200 measured domainsCentral African Rep.: under 200 measured domainsCongo: under 200 measured domainsSwitzerland (.ch): 3,819 measured, 65.8% valid DMARC, 36.9% at enforcementCôte d'Ivoire: under 200 measured domainsChile (.cl): 2,643 measured, 65.0% valid DMARC, 34.1% at enforcementCameroon: under 200 measured domainsChina (.cn): 11,037 measured, 15.0% valid DMARC, 8.2% at enforcementColombia: .co is registered worldwide, so it is measured in the table but not shaded as a countryCosta Rica (.cr): 244 measured, 65.6% valid DMARC, 46.3% at enforcementCuba: under 200 measured domainsCyprus: under 200 measured domainsCzechia (.cz): 5,322 measured, 63.3% valid DMARC, 25.9% at enforcementGermany (.de): 27,426 measured, 62.0% valid DMARC, 32.2% at enforcementDjibouti: under 200 measured domainsDenmark (.dk): 2,382 measured, 73.8% valid DMARC, 52.4% at enforcementDominican Republic (.do): 278 measured, 62.2% valid DMARC, 34.9% at enforcementAlgeria (.dz): 218 measured, 69.7% valid DMARC, 46.3% at enforcementEcuador (.ec): 555 measured, 65.9% valid DMARC, 45.0% at enforcementEstonia (.ee): 819 measured, 72.2% valid DMARC, 43.7% at enforcementEgypt (.eg): 335 measured, 54.6% valid DMARC, 34.3% at enforcementW. Sahara: under 200 measured domainsEritrea: under 200 measured domainsSpain (.es): 5,457 measured, 65.3% valid DMARC, 33.2% at enforcementEthiopia: under 200 measured domainsFinland (.fi): 2,339 measured, 66.3% valid DMARC, 29.5% at enforcementFiji: under 200 measured domainsFalkland Is.: under 200 measured domainsFrance (.fr): 10,235 measured, 65.3% valid DMARC, 29.2% at enforcementGabon: under 200 measured domainsUnited Kingdom (.uk): 27,053 measured, 40.8% valid DMARC, 21.6% at enforcementGeorgia (.ge): 452 measured, 51.5% valid DMARC, 23.9% 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,469 measured, 66.9% valid DMARC, 25.5% at enforcementGuatemala (.gt): 235 measured, 62.1% valid DMARC, 38.3% at enforcementGuinea-Bissau: under 200 measured domainsGuyana: under 200 measured domainsHonduras: under 200 measured domainsCroatia (.hr): 1,142 measured, 70.8% valid DMARC, 28.7% at enforcementHaiti: under 200 measured domainsHungary (.hu): 3,099 measured, 62.2% valid DMARC, 21.9% at enforcementIndonesia (.id): 4,847 measured, 55.1% valid DMARC, 26.1% at enforcementIreland (.ie): 1,339 measured, 72.4% valid DMARC, 37.1% at enforcementIsrael (.il): 1,650 measured, 66.8% valid DMARC, 21.8% at enforcementIndia (.in): 11,978 measured, 48.9% valid DMARC, 25.4% at enforcementIraq: under 200 measured domainsIran (.ir): 3,451 measured, 37.7% valid DMARC, 21.0% at enforcementIceland (.is): 438 measured, 57.5% valid DMARC, 29.7% at enforcementItaly (.it): 14,821 measured, 43.7% valid DMARC, 15.3% at enforcementJamaica: under 200 measured domainsJordan: under 200 measured domainsJapan (.jp): 16,870 measured, 56.8% valid DMARC, 13.2% at enforcementKenya (.ke): 497 measured, 61.6% valid DMARC, 32.4% at enforcementKyrgyzstan (.kg): 297 measured, 45.5% valid DMARC, 30.0% at enforcementCambodia: under 200 measured domainsNorth Korea: under 200 measured domainsSouth Korea (.kr): 4,758 measured, 23.2% valid DMARC, 4.5% at enforcementKuwait: under 200 measured domainsKazakhstan (.kz): 1,495 measured, 39.6% valid DMARC, 22.1% at enforcementLaos (.la): 215 measured, 27.0% valid DMARC, 13.0% at enforcementLebanon: under 200 measured domainsSri Lanka (.lk): 510 measured, 46.7% valid DMARC, 19.8% at enforcementLiberia: under 200 measured domainsLesotho: under 200 measured domainsLithuania (.lt): 1,102 measured, 68.1% valid DMARC, 30.5% at enforcementLuxembourg (.lu): 251 measured, 70.9% valid DMARC, 44.2% at enforcementLatvia (.lv): 870 measured, 62.2% valid DMARC, 39.8% at enforcementLibya: under 200 measured domainsMorocco (.ma): 525 measured, 50.7% valid DMARC, 24.4% at enforcementMoldova (.md): 429 measured, 61.3% valid DMARC, 30.3% 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, 60.1% valid DMARC, 29.0% at enforcementMali: under 200 measured domainsMyanmar: under 200 measured domainsMongolia: under 200 measured domainsMauritania: under 200 measured domainsMalawi: under 200 measured domainsMexico (.mx): 3,271 measured, 57.7% valid DMARC, 29.8% at enforcementMalaysia (.my): 1,541 measured, 57.4% valid DMARC, 36.3% at enforcementMozambique: under 200 measured domainsNamibia: under 200 measured domainsNew Caledonia: under 200 measured domainsNiger: under 200 measured domainsNigeria (.ng): 697 measured, 51.4% valid DMARC, 16.6% at enforcementNicaragua: under 200 measured domainsNetherlands (.nl): 18,506 measured, 40.7% valid DMARC, 21.9% at enforcementNorway (.no): 1,896 measured, 78.2% valid DMARC, 49.2% at enforcementNepal (.np): 261 measured, 45.2% valid DMARC, 27.2% at enforcementNew Zealand (.nz): 1,562 measured, 72.0% valid DMARC, 39.4% at enforcementOman: under 200 measured domainsPanama: under 200 measured domainsPeru (.pe): 1,238 measured, 59.3% valid DMARC, 33.1% at enforcementPapua New Guinea: under 200 measured domainsPhilippines (.ph): 1,303 measured, 51.3% valid DMARC, 28.4% at enforcementPakistan (.pk): 1,701 measured, 49.8% valid DMARC, 18.4% at enforcementPoland (.pl): 9,413 measured, 66.2% valid DMARC, 32.9% at enforcementPuerto Rico: under 200 measured domainsPalestine: under 200 measured domainsPortugal (.pt): 1,992 measured, 69.2% valid DMARC, 37.1% at enforcementParaguay (.py): 308 measured, 70.1% valid DMARC, 44.8% at enforcementQatar: under 200 measured domainsRomania (.ro): 4,214 measured, 70.1% valid DMARC, 28.5% at enforcementSerbia (.rs): 1,058 measured, 59.0% valid DMARC, 22.5% at enforcementRussia (.ru and .рф): 38,018 measured, 39.6% valid DMARC, 20.8% at enforcementRwanda: under 200 measured domainsSaudi Arabia (.sa): 567 measured, 73.9% valid DMARC, 57.3% at enforcementSolomon Is.: under 200 measured domainsSudan: under 200 measured domainsSweden (.se): 3,500 measured, 67.9% valid DMARC, 37.5% at enforcementSlovenia (.si): 830 measured, 70.5% valid DMARC, 32.2% at enforcementSlovakia (.sk): 2,014 measured, 66.6% valid DMARC, 29.2% 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): 950 measured, 56.1% valid DMARC, 29.2% at enforcementTajikistan: under 200 measured domainsTimor-Leste: under 200 measured domainsTurkmenistan: under 200 measured domainsTunisia (.tn): 290 measured, 41.7% valid DMARC, 20.3% at enforcementTurkey (.tr): 2,937 measured, 64.4% valid DMARC, 38.1% at enforcementTrinidad and Tobago: under 200 measured domainsTaiwan (.tw): 2,860 measured, 42.7% valid DMARC, 19.6% at enforcementTanzania (.tz): 230 measured, 68.3% valid DMARC, 43.0% at enforcementUkraine (.ua): 4,961 measured, 46.6% valid DMARC, 20.3% at enforcementUganda: under 200 measured domainsUnited States (.us): 3,058 measured, 36.8% valid DMARC, 21.6% at enforcementUruguay (.uy): 491 measured, 67.8% valid DMARC, 34.0% at enforcementUzbekistan (.uz): 643 measured, 48.7% valid DMARC, 27.2% at enforcementVenezuela (.ve): 249 measured, 56.6% valid DMARC, 38.2% at enforcementVietnam (.vn): 2,724 measured, 35.2% valid DMARC, 17.9% at enforcementVanuatu: under 200 measured domainsYemen: under 200 measured domainsSouth Africa (.za): 2,676 measured, 65.8% valid DMARC, 36.6% at enforcementZambia: under 200 measured domainsZimbabwe: under 200 measured domains Hong Kong (.hk): 883 measured, 56.5% valid DMARC, 33.5% at enforcementSingapore (.sg): 843 measured, 69.5% valid DMARC, 47.6% 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,896 78.2% 49.2%
Australia .au 7,642 74.2% 42.5%
Saudi Arabia .sa 567 73.9% 57.3%
Denmark .dk 2,382 73.8% 52.4%
Anguilla .ai 3,614 73.8% 41.0%
Ireland .ie 1,339 72.4% 37.1%
Estonia .ee 819 72.2% 43.7%
New Zealand .nz 1,562 72.0% 39.4%
Luxembourg .lu 251 70.9% 44.2%
Croatia .hr 1,142 70.8% 28.7%
Belgium .be 3,320 70.6% 38.4%
Slovenia .si 830 70.5% 32.2%
Romania .ro 4,214 70.1% 28.5%
Paraguay .py 308 70.1% 44.8%
Algeria .dz 218 69.7% 46.3%
Singapore .sg 843 69.5% 47.6%
Portugal .pt 1,992 69.2% 37.1%
United Arab Emirates .ae 737 68.4% 42.7%
Tanzania .tz 230 68.3% 43.0%
Lithuania .lt 1,102 68.1% 30.5%
Argentina .ar 3,338 67.9% 25.3%
Sweden .se 3,500 67.9% 37.5%
Uruguay .uy 491 67.8% 34.0%
Bolivia .bo 207 67.6% 51.2%
Bosnia and Herzegovina .ba 325 67.1% 37.2%
Greece .gr 3,469 66.9% 25.5%
Israel .il 1,650 66.8% 21.8%
Slovakia .sk 2,014 66.6% 29.2%
Canada .ca 5,487 66.3% 36.4%
Finland .fi 2,339 66.3% 29.5%
Poland .pl 9,413 66.2% 32.9%
Ecuador .ec 555 65.9% 45.0%
South Africa .za 2,676 65.8% 36.6%
Switzerland .ch 3,819 65.8% 36.9%
Bulgaria .bg 1,288 65.7% 31.1%
Costa Rica .cr 244 65.6% 46.3%
France .fr 10,235 65.3% 29.2%
Spain .es 5,457 65.3% 33.2%
Chile .cl 2,643 65.0% 34.1%
Turkey .tr 2,937 64.4% 38.1%
Austria .at 3,107 64.1% 33.0%
Czechia .cz 5,322 63.3% 25.9%
Dominican Republic .do 278 62.2% 34.9%
Latvia .lv 870 62.2% 39.8%
Hungary .hu 3,099 62.2% 21.9%
Guatemala .gt 235 62.1% 38.3%
Brazil .br 17,571 62.1% 26.7%
Germany .de 27,426 62.0% 32.2%
Kenya .ke 497 61.6% 32.4%
Moldova .md 429 61.3% 30.3%
North Macedonia .mk 286 60.1% 29.0%
Bangladesh .bd 681 59.6% 37.4%
Peru .pe 1,238 59.3% 33.1%
Serbia .rs 1,058 59.0% 22.5%
Mexico .mx 3,271 57.7% 29.8%
Iceland .is 438 57.5% 29.7%
Malaysia .my 1,541 57.4% 36.3%
Japan .jp 16,870 56.8% 13.2%
Armenia .am 375 56.8% 37.3%
Venezuela .ve 249 56.6% 38.2%
Hong Kong .hk 883 56.5% 33.5%
Thailand .th 950 56.1% 29.2%
Indonesia .id 4,847 55.1% 26.1%
Egypt .eg 335 54.6% 34.3%
Micronesia .fm 338 53.6% 24.0%
European Union .eu 5,728 53.2% 26.4%
Colombia .co 6,980 53.1% 27.7%
British Indian Ocean Territory .io 10,157 52.7% 30.9%
Niue .nu 279 51.6% 23.3%
Georgia .ge 452 51.5% 23.9%
Nigeria .ng 697 51.4% 16.6%
Philippines .ph 1,303 51.3% 28.4%
Morocco .ma 525 50.7% 24.4%
Pakistan .pk 1,701 49.8% 18.4%
Guernsey .gg 805 49.4% 23.7%
India .in 11,978 48.9% 25.4%
Uzbekistan .uz 643 48.7% 27.2%
Belarus .by 1,338 48.4% 26.6%
Sri Lanka .lk 510 46.7% 19.8%
Ukraine .ua 4,961 46.6% 20.3%
Kyrgyzstan .kg 297 45.5% 30.0%
Nepal .np 261 45.2% 27.2%
Saint Helena .sh 276 44.6% 28.3%
Italy .it 14,821 43.7% 15.3%
Taiwan .tw 2,860 42.7% 19.6%
Azerbaijan .az 558 42.7% 27.4%
Tunisia .tn 290 41.7% 20.3%
United Kingdom .uk 27,053 40.8% 21.6%
Netherlands .nl 18,506 40.7% 21.9%
Russia .ru and .рф 38,018 39.6% 20.8%
Kazakhstan .kz 1,495 39.6% 22.1%
Isle of Man .im 305 38.0% 20.3%
Iran .ir 3,451 37.7% 21.0%
United States .us 3,058 36.8% 21.6%
Vietnam .vn 2,724 35.2% 17.9%
Tuvalu .tv 2,667 34.6% 16.4%
Montenegro .me 2,949 33.7% 17.9%
Soviet Union .su 1,006 33.0% 16.1%
Laos .la 215 27.0% 13.0%
Tonga .to 856 26.9% 13.4%
Samoa .ws 341 24.3% 14.1%
South Korea .kr 4,758 23.2% 4.5%
Sao Tome and Principe .st 267 20.6% 14.6%
Palau .pw 316 19.0% 9.2%
China .cn 11,037 15.0% 8.2%
Cocos Islands .cc 7,520 8.5% 4.3%

106 countries have at least 200 measured domains under their ccTLD in this snapshot, and 89 of them are shaded on the map. Norway is highest, with 78.2% of measured .no domains publishing a valid DMARC record. China is lowest, at 15.0% of measured .cn domains.

A domain counts toward a country by its TLD alone. Every .de domain counts as Germany, wherever it's hosted or owned. Domains on gTLDs like .com have no country in their name, so they're left off the map. The TLD table below covers them. ccTLDs registered mostly from outside their country, .io, .ai, .co, .tv and .me among them, are measured and listed in the table but not shaded, because shading them would color the wrong country. 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 grouped by TLD, so it includes generic TLDs like .com that the map can't show. Every TLD with at least 1,000 measured domains, biggest first.

TLD Measured Valid DMARC At enforcement
.com 421,486 47.9% 23.9%
.net 48,404 35.9% 18.4%
.org 39,689 54.8% 26.9%
.ru 37,489 40.0% 21.0%
.de 27,426 62.0% 32.2%
.uk 27,053 40.8% 21.6%
.nl 18,506 40.7% 21.9%
.br 17,571 62.1% 26.7%
.jp 16,870 56.8% 13.2%
.it 14,821 43.7% 15.3%
.in 11,978 48.9% 25.4%
.cn 11,037 15.0% 8.2%
.fr 10,235 65.3% 29.2%
.io 10,157 52.7% 30.9%
.pl 9,413 66.2% 32.9%
.au 7,642 74.2% 42.5%
.cc 7,520 8.5% 4.3%
.xyz 7,015 10.7% 5.7%
.co 6,980 53.1% 27.7%
.top 6,069 4.7% 2.2%
.eu 5,728 53.2% 26.4%
.ca 5,487 66.3% 36.4%
.es 5,457 65.3% 33.2%
.cz 5,322 63.3% 25.9%
.shop 5,054 33.0% 3.7%

.com is the largest registry in the snapshot at 421,486 measured domains, 47.9% of them publishing a valid DMARC record. 61 further TLDs clear the 1,000-domain bar and aren't listed here. The full set is in the published aggregates.

Domains are grouped by the last label of their name, so .co.uk is grouped under .uk. All percentages are based on the domains whose DMARC lookup got an answer, which matches the rest of this report.

Reports that go nowhere

The rua tag on a DMARC record holds 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.

129,483
p=none with no reachable rua
35,050
unauthorized external rua
30,229
every rua destination dead
159,792
authorized external rua

129,483 domains publish a p=none DMARC record whose reporting address is missing, dead, or not authorized by its owner. That's 12.9% of measured domains and 27.5% of every valid record in the scan. We call it monitoring theater. The record passes a presence scan as adoption, but receivers that follow the standard send the domain no reports.

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. It doesn't mean anyone reads it.

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. 35,050 domains in this scan name at least one outside address whose owner hadn't authorized them when we scanned. Receivers that run this check send nothing to that address. Some of those domains also name another address, on their own domain or with authorization, and receivers can still send reports there.

30,229 domains name only outside addresses without authorization. They're the domains in the unauthorized group with no other address to fall back on. Neither group covers the whole dead tier, because a p=none record with no rua tag is dead too. It gives receivers nowhere to send a report.

Correction, 11 Oct 2026. We tested the authorization check for a week in October 2026, on our own domain. Our domain sends little mail. Its DMARC record listed a Gmail address with no authorization record. Google and Microsoft sent reports to it anyway, and Yahoo did not.

If Google and Microsoft do what they did in our test, they still send reports to the outside addresses of the 35,050 domains counted under unauthorized external rua. The 30,229 domains counted under every rua destination dead list only such addresses, so Google's and Microsoft's reports for them would go there too. Receivers that check send those addresses nothing. Every figure on this page is as we scanned it.

190,774 domains name at least one outside reporting address. 148 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,108 domains name more than one kind, which is why the counts sum past the total.

SPF

DMARC passes on SPF or DKIM alignment. When receivers can't evaluate a domain's SPF record, its mail can pass DMARC only on DKIM.

63.6%
of measured domains publish SPF
5.8%
of published SPF records permerror

635,855 of the 1,000,420 measured domains publish an SPF record. 37,033 of those records (5.8%) return permerror for at least some of the mail checked against them. 17,398 exceed the ten-lookup limit, where receivers fail any sender they need an eleventh lookup to find. 9,942 publish more than one record, which receivers refuse to evaluate at all. The scan also flags an include that points at a name with no SPF record, and an include or redirect loop. It doesn't check for other syntax errors, so the true permerror count can only be higher.

How the records end

EndingDomainsShare
-all (fail) 232,689 38.9%
~all (softfail) 331,676 55.4%
?all (neutral) 15,892 2.7%
+all (pass everything) 387 0.1%
no all mechanism 18,178 3.0%

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

US federal .gov domains

This is every registered federal .gov zone in CISA's public registry, across the executive, legislative and judicial branches. 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 183 13.9%
Broken 6 0.5%
Dead reporting 26 2.0%
Monitoring 19 1.4%
Partial enforcement 8 0.6%
Enforced 1,079 81.7%

The enforced count, 1,079, sits above the reject count, 1,061, because 26 quarantine domains join the tier and 8 weakened domains leave it.

The federal reject share is 80.3% (1,061 domains). Across the whole scan it's 11.5% (115,277 domains), and that figure already includes this cohort. 183 federal domains (13.9%) publish no DMARC record, and 26 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. 80.3% publish p=reject and 82.3% publish quarantine or reject.

Who is named to receive the reports

The rua tag lists where a domain wants its reports sent, so counting rua hosts shows which platforms domains pick to receive them. A rua entry doesn't prove a report arrives, and these counts aren't the platforms' customer numbers. The largest named collector is Cloudflare, on 28,968 domains, then Brevo at 16,363 and Valimail at 14,432.

A p=none domain moves from the dead tier to monitoring once it has a working rua address. With a free collector, an operator can get a first report without signing a contract. Cloudflare, the largest collector in the scan, includes collection with the domain. Postmark's free DMARC Digests is the fifth largest collector.

Each bar counts the domains whose rua list includes 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,968, Brevo 16,363, Valimail 14,432, Proofpoint 12,517, Postmark 10,301, dmarcian 8,883, GoDaddy 6,758, Mimecast 6,629, Red Sift 5,539, EasyDMARC 5,287, MxToolbox 4,783, DMARC Advisor 3,014. Cloudflare: 28,968 domains Cloudflare 28,968 Brevo: 16,363 domains Brevo 16,363 Valimail: 14,432 domains Valimail 14,432 Proofpoint: 12,517 domains Proofpoint 12,517 Postmark: 10,301 domains Postmark 10,301 dmarcian: 8,883 domains dmarcian 8,883 GoDaddy: 6,758 domains GoDaddy 6,758 Mimecast: 6,629 domains Mimecast 6,629 Red Sift: 5,539 domains Red Sift 5,539 EasyDMARC: 5,287 domains EasyDMARC 5,287 MxToolbox: 4,783 domains MxToolbox 4,783 DMARC Advisor: 3,014 domains DMARC Advisor 3,014

141,749 matches across 27 platforms. The largest destination matching no platform in the list is gmail.com, named by 2,450 domains.

MTA-STS, TLS-RPT and BIMI

Far fewer domains publish these three records than publish DMARC.

9,890
MTA-STS policy record
11,886
TLS-RPT record
17,798
BIMI record

Out of the 1,000,420 measured domains, 1.0% publish MTA-STS, 1.2% TLS-RPT and 1.8% BIMI.

Methodology

Population Tranco list Q2K34, 1,000,000 domains, plus the cohort frames below. We scanned 1,000,766 domains in total. Tranco builds the list from the Crux, Farsight, Majestic, Radar and Umbrella rankings over the 30 days before the list date, combined with the Dowdall rule. Reference: Victor Le Pochat, Tom Van Goethem, Samaneh Tajalizadehkhoob, Maciej Korczyński and Wouter Joosen, "Tranco: A Research-Oriented Top Sites Ranking Hardened Against Manipulation", NDSS 2019, doi:10.14722/ndss.2019.23386.
Frames tranco: 1,000,000 domains from https://tranco-list.eu/list/Q2K34
cohort:us-federal-gov: 1,321 domains from research/cohorts/us-federal-gov.csv
555 cohort domains also rank in the Tranco million and were scanned once, which is why the frames add up to more than the number of domains scanned.
Collection window 2026-10-01T07:18:56.812Z to 2026-10-01T08:55:11.230Z. Aggregated 2026-10-08T00:28:32.723Z.
Resolver Queries went to unbound:5353, with retries against 1.1.1.1, 8.8.8.8.
Error rate 346 DMARC lookups failed after retries, which is 0.03% of the domains scanned. We left those domains out of every percentage 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-10-01T07:18:56.211Z, sha256 257b298daca42f6d. 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,318 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 we don't recognize stay unmatched. We don't guess.
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 We compare each domain's policy with the one we stored for it in the September 2026 snapshot. If a lookup failed in either month, we drop the domain and count it separately, so a DNS failure never shows up as a policy change.
Independent comparison The adoption tracker at dmarcdkim.com/dmarc-adoption updates daily. It covers 1.35 million domains it has collected over time. When we checked it in August 2026 it reported 11.4% at full reject, where this scan finds 11.5% (115,277 domains) at p=reject. This scan's count includes 1,813 rejects weakened by pct and 7,763 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. At p=none that puts it in monitoring, so the true dead-reporting count can only be higher.

  • With 3 editions there are 2 months of change. This page compares only the latest month with the one before.
  • Some DNS lookups fail even after retries. 346 ended in error and are excluded rather than scored as no DMARC. If those lookups had succeeded, any count on this page could have moved by up to that many domains.
  • We checked rua authorization at scan time only. If a destination's owner added or removed an authorization after the scan, this snapshot doesn't show it.
  • So far the only named cohort is the 1,321 US federal domains. Other planned cohorts aren't in this edition.
  • We haven't matched every rua host to a platform yet. As we add more, some unmatched destinations will move into named platforms.

The data

Citing and reusing the data

We publish the aggregate data under CC BY 4.0. Reuse it, including commercially, with attribution. Suggested citation:

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