Anyone can claim their site is built with Blazor. This directory is only worth reading if that claim is checked, so every listing is inspected by a headless browser and the evidence is published alongside it.
A headless Chromium instance loads the submitted URL, waits for network idle, and records every request the page makes plus the rendered HTML. We then look for signals that only a running Blazor application produces.
| Signal | Indicates |
|---|---|
_framework/blazor.webassembly.js | Standalone WebAssembly |
_framework/blazor.server.js | Blazor Server (pre-.NET 8 model) |
_framework/blazor.web.js | Blazor Web App (.NET 8 and later) |
blazor.boot.json + dotnet.wasm | Runtime downloaded and running client-side |
WebSocket negotiate to /_blazor | Interactive server circuit opened |
<!--Blazor:{...}--> | Server-rendered component boundaries |
/_blazor, with no runtime download.blazor.web.js, but neither a manifest nor a circuit.Framework version comes from the boot manifest where one exists, and otherwise from runtime asset fingerprints. Where we cannot determine it, we say so rather than guessing.
Each check records the address the site actually answered from — the remote address of the response the crawler received, not a name looked up afterwards — and resolves it to a country. It is re-measured on every passing check, so a site that moves is shown at its new location on its next re-check.
Read it as where the site answered from, not where the application runs. A site behind a CDN answers from whichever edge is nearest our crawler, and that is what gets recorded. Each listing shows the address its country was derived from, so the claim can be checked rather than taken on trust.
The UI component library is measured, never entered. Asking produces wrong data: people misremember, name what they started with, or list a library used on one screen of a larger application. The published assets do not have that problem.
Detection keys on the _content/{PackageId}/ path that Razor Class
Libraries publish static assets under, which survives bundling, minification, and theme
renames far better than a stylesheet filename. We currently recognise MudBlazor, Radzen,
Fluent UI, Telerik, Syncfusion, DevExpress, Infragistics, Blazorise, Ant Design, and
Bootstrap. A site using more than one has all of them recorded, because reducing a stack to
a single name loses exactly the information this directory exists to publish.
Submitting takes about a minute. The crawler is already loading your site to verify it, so it reads the listing details in the same visit rather than asking you to retype what is already on the page. You supply a URL and an email; everything else arrives prefilled.
You can supply nothing else at all. Every descriptive field is optional. A listing submitted with only a URL and an email shows exactly what we could determine automatically, and omits what we could not — no blank labels, no placeholder text.
Three rules keep this honest:
Every listing is re-checked weekly, and each pass refreshes the screenshot so the directory does not fill up with stale images of redesigned sites.
When a check fails, the listing is not deleted. It is flagged Needs attention, the submitter is emailed, and a 14-day grace period starts. Sites go down, certificates lapse, and deployments break; none of that means the listing was dishonest. Only after the grace period expires does a listing move to Offline, where it stays recorded but out of the main directory. A single successful check restores it automatically.
Yes, but it needs manual review. A moderator will ask for something we can check — a public marketing page on the same application, a demo tenant, or a short screencast showing the framework in browser dev tools.
Yes — Blazor Static SSR with enhanced navigation, which is why filtering feels instant without shipping a WebAssembly runtime or holding a circuit open. It is listed in the directory under its own rules and re-checked on the same weekly schedule.
Use the report link on the listing. Prove control of the domain with a DNS TXT record and we will transfer or remove it.
IP geolocation by DB-IP, using the IP to Country Lite database under the Creative Commons Attribution 4.0 International Licence.
Country flags from flag-icons by Panayiotis Lipiridis, under the MIT Licence.