Free tool
did:web checker
Enter your domain. DID.is shows where your did.json must live, then resolves it and reports TLS, document validity, id match, keys and history — evidence for each, not a score.
Example: did:web:did.is
Common did:web mistakes
- The id inside did.json does not match
- The document's "id" must be exactly the identifier, e.g. did:web:example.com — not the URL and not another domain.
- Wrong location
- A bare domain is served from /.well-known/did.json. A path identifier (did:web:example.com:users:alice) is served from /users/alice/did.json, without .well-known.
- Redirects or HTML instead of JSON
- Serve the file directly with a JSON content type. Redirects to a login page or a framework's 404 page make resolution fail.
- Port written with a colon
- A port is percent-encoded in the identifier: did:web:example.com%3A8443.
- Verification method ids do not belong to the document
- Each verificationMethod id should start with the DID (did:web:example.com#key-1) and the controller should be the DID.
- Expired or self-signed certificate
- did:web trust comes from HTTPS. An invalid certificate means nothing in the document can be relied on.
Automate it with GET /api/v1/resolve/did:web:… — see the developer reference.