Domain WHOIS Summary
{{ summary.domain || '—' }}
{{ summary.registrar }} {{ summary.status }} Created {{ summary.created }} Expires {{ summary.expires }} Age {{ summary.age_days }} d In {{ summary.to_expiry_days }} d
FieldValueCopy
{{ row.label }} {{ row.value }}
No info available.
FieldValueCopy
{{ row.label }} {{ row.value }}
No contact details present.
FieldValueCopy
{{ row.label }} {{ row.value }}
No DNS details.
FieldValueCopy
{{ row.label }} {{ row.value }}
No registrar details.

                

Introduction:

Domain WHOIS records are public registration data that describe who sponsors a domain and how it is configured. A WHOIS record lists the registrar, status codes, creation and expiry dates and nameservers so you can verify ownership and plan renewals without decoding raw registry output. Use it to check domain registration details.

You enter a fully qualified domain name and get a clear summary of core registry facts. The result highlights the domain string, registrar identity, key timestamps and status text, plus any nameservers the provider returns. When provided, role based contacts are grouped for quick scanning.

For example, a renewal check might show a creation date from years ago, two active nameservers and a status such as clientTransferProhibited. That tells you the name is locked and managed by a specific registrar, and lets you schedule renewal well before expiry. Records vary by registry and privacy settings, so treat contact details carefully.

You control what to capture next. Export tidy CSV lists for spreadsheets or download structured JSON when you need to archive a snapshot or share exact fields during support tickets. If your first check is empty, retry later because registries and caches update at different speeds.

Technical Details:

The utility reads a domain string, requests a WHOIS JSON payload from a remote provider, and maps standard fields into four views: Info, Contacts, DNS and Registrar. Two derived values are computed from timestamps: age in days since creation and days until expiry. Calculations use the browser clock. CSV exporters serialize each view, and the JSON exporter bundles inputs, a normalized summary and the raw provider object. Processing is deterministic for the same input, subject to upstream data changes.

Processing pipeline

  1. Normalize input: trim, drop any scheme or path, strip leading or trailing dots, lowercase.
  2. Validate with a label rule, require at least two labels, reject labels starting or ending with a hyphen.
  3. Stop with an error if empty or invalid; otherwise continue.
  4. Build a WHOIS request and fetch through a CORS wrapper with a 9 s client‑side timeout.
  5. Parse JSON when the response is OK; surface provider error text when present.
  6. Assemble a summary: registrar, status text, creation, update and expiry timestamps, computed day counts.
  7. Populate the four views and enable per‑field copy, per‑view CSV and full JSON export.
  8. Render a highlighted JSON preview for quick inspection.

Formulas

ageDays = nowcreated DAY_MS toExpiryDays = expiresnow DAY_MS

Symbols & Units

Symbols, meanings and units
SymbolMeaningUnit/DatatypeSource
nowCurrent epoch timems (number)Derived
createdCreation timestampISO 8601 (string)Input
expiresExpiry timestampISO 8601 (string)Input
DAY_MSMilliseconds per day86 400 000 msConstant
ageDaysWhole days since creationdays (string)Derived
toExpiryDaysWhole days until expirydays (string)Derived

Constants

Core constants used by the app
ConstantValueUnitSourceNotes
DAY_MS86 400 000msCodeUsed in day computations.
TIMEOUT_MS9 000msCodeAborts slow WHOIS requests.
STATUS_JOIN", "textCodeJoins multiple status entries.

Units, precision & rounding

  • Age and expiry are reported as whole days.
  • Age uses floor; days to expiry uses ceil.
  • No decimal separator or significant figures appear in outputs.
  • Timestamps are parsed by the browser’s date engine.

Validation & bounds

Input validation and messages
FieldTypeMinMaxStep/PatternError TextPlaceholder
Domain string 1 char per label 63 chars per label
/^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(\.[A-Za-z0-9-]{1,63})+$/u
“Domain is required.” or “Enter a valid domain such as “example.com”.” example.com

I/O formats & encoding

Inputs and outputs
InputAccepted FamiliesOutputEncoding/PrecisionRounding
Domain name ASCII letters, digits and hyphens; at least two labels; punycode for IDNs Tables by section and a JSON bundle UTF‑8 text; JSON with indentation Whole days as strings

Networking & storage behavior

  • Performs a single WHOIS HTTP request through a CORS wrapper with a 9 s timeout.
  • Clipboard writes and file downloads occur in the browser.
  • No persistent storage is used by this page.

Performance & complexity

  • One network round‑trip per lookup; JSON parse is linear in response size.
  • Table rendering is proportional to the number of non‑empty fields.

Diagnostics & determinism

  • Errors surface as human‑readable alerts: empty input, invalid format, provider error text, or network error.
  • Given identical inputs and provider data, outputs are deterministic.

Security considerations

  • Do not paste secrets into WHOIS fields; responses may include contact data.
  • Requests include an access key assembled in memory; keys are not shown in the UI.

Worked example

Assumptions & limitations

  • Requires a resolvable domain with at least two labels. Heads‑up
  • Internationalized domains must be provided in punycode form. Heads‑up
  • IP addresses and single‑label hostnames are not accepted. Heads‑up
  • Availability and shape of contact data depend on the registry. Heads‑up
  • Provider “domain_age” may differ from computed age days. Heads‑up
  • Results reflect the provider response at request time. Heads‑up
  • Browser date parsing and local clock influence day counts. Heads‑up
  • Slow or blocked networks will produce timeouts. Heads‑up

Edge cases & error sources

  • Leading or trailing dots are removed before validation.
  • Any scheme and path are stripped from pasted links.
  • Labels starting or ending with a hyphen are rejected.
  • Non‑ASCII characters in labels are invalid unless punycoded.
  • Missing timestamps disable day computations for that field.
  • Provider may use either whois_server or whoisserver.
  • Arrays of statuses are joined into one string.
  • Large responses are clipped only by browser memory, not by code.

Step‑by‑Step Guide:

Follow these steps to review a domain and export what you need.

  1. Enter a fully qualified domain like example.com.
  2. Press Enter or select Lookup to start the request.
  3. Scan the summary for registrar, dates and status.
  4. Open Contacts, DNS or Registrar for deeper details.
  5. Use the copy icon beside any value to put it on the clipboard.
  6. Export CSV for a section, or download the full JSON bundle.
Press Enter to search immediately when the field is focused.
Use JSON when you need exact keys for automation.
Pro tip: add ?domain=example.com to the page URL to prefill and auto‑run.

You will leave with a clear picture of ownership, timing and hosting direction.

FAQ:

Is my data stored?

No account is required. The page runs in your browser and sends a single WHOIS request; it does not store results server‑side.

Clipboard and file downloads happen locally.
Why are contacts missing?

Some registries or registrars redact or omit contact roles. If fields are absent in the provider response, they will not appear here.

What can I export?

Copy any field, export CSV for Info, Contacts, DNS or Registrar, or download one JSON file that includes inputs, a normalized summary and the raw payload.

How accurate are the day counts?

They are whole‑day numbers from browser time using floor for age and ceil for days to expiry. Provider‑supplied age may differ.

Does it work offline?

No. A network call to a WHOIS provider is required to return current registry data.

Can I prefill a lookup?

Yes. Append ?domain=yourname.tld to the page URL. If present on load, the lookup runs automatically.

Is there any cost or sign‑in?

There is no sign‑in. You can run lookups directly from the page.

Troubleshooting:

  • “Domain is required.” — add a fully qualified domain.
  • “Enter a valid domain…” — remove schemes or paths and fix label spelling.
  • “Network error.” — check connectivity, VPN and content blockers.
  • Empty sections — retry later; some registries update with a delay.
  • Strange day counts — verify system clock and timestamp presence.

Advanced Tips:

  • Tip CSV exports make quick diffs across audits when filenames include the domain and section.
  • Tip Use JSON to script reminders for renewals based on expire_date.
  • Tip Compare provider domain_age with computed age to spot registry corrections.
  • Tip Nameserver changes often precede DNS migrations; watch the DNS tab first.
  • Tip Copy individual fields to avoid pasting full records into tickets.

Glossary:

WHOIS
Public domain registration data set.
Registrar
Company authorized to register domains.
Nameserver
Host that serves DNS records for a domain.
TLD
Top‑level domain like .com or .org.
Status code
Registry state string such as lock or hold.
Expiry
Date when the current registration ends.