Small. Useful. Reliable.
Windows utilities developed by
Debasis Bhattacharjee since 2004.
Lightweight Windows tools for system information, diagnostics, monitoring and productivity.
๐Ÿงญ
Fast Resolver
Freeware Category: Network Tools Version 1.0.0 Windows 10 / 11 x64
โฌ‡ Download Fast Resolver
Version 1.0.0 ยท ~210 KB ยท Portable, no installation required
Fast Resolver main window
Fast Resolver’s main window.

Overview

FastResolver takes a plain list of hostnames or IP addresses โ€” one per line โ€” and resolves every one of them in parallel, returning results as fast as the slowest single lookup in the batch rather than waiting for each entry sequentially. It exists for the specific scenario of needing to check many hosts at once, where running a lookup tool once per line would simply take too long.

Key Features

  • Resolves an entire multi-line batch of hosts or IPs simultaneously
  • Displays results in a two-column table alongside the original input
  • Supports both forward lookups (hostname โ†’ IP) in one unified interface
  • Clearly marks any entry that failed to resolve, with the underlying error
  • No per-lookup delay โ€” a batch of dozens of hosts resolves about as fast as one

Why You Might Need This Tool

Anyone maintaining a list of servers, checking a batch of domains after a bulk DNS migration, or validating a spreadsheet of hostnames pulled from an inventory system benefits from resolving them all in one pass rather than one at a time. It is also a quick way to sanity-check a list of IPs pasted from a firewall log or access log, letting you eyeball whether they resolve to expected internal ranges or unfamiliar external addresses worth investigating further.

How It Works

The tool splits the multi-line input textbox into individual entries, then for each one creates a task via LINQ's Select projected into Task.Run(Function() ResolveOne(entry)), building an array of independent background tasks โ€” one per line โ€” rather than resolving sequentially in a loop. It then Awaits Task.WhenAll on that entire array, which lets the .NET thread pool run every lookup concurrently and only returns once every single one has either succeeded or failed. Each individual resolution itself calls the standard Net.Dns.GetHostAddresses(entry) API, which transparently handles both directions โ€” a hostname resolves to its IP addresses, and a literal IP address string resolves trivially back to itself โ€” so the same input box accepts either kind of entry without needing a separate mode switch. Results are matched back to their original input line by array index once all tasks complete, and populated into a ListView row by row.

How to Use It

Paste or type one hostname or IP address per line into the input box โ€” the sample text shows the expected format โ€” then click Resolve All. A results table appears below showing each input alongside its resolved address(es), or "Failed:" plus the specific error if that particular entry could not be resolved.

System Requirements & Notes

Requires network connectivity capable of reaching a DNS resolver; no administrator rights are needed. Very large batches (hundreds of entries) will briefly spike outbound DNS query volume since all lookups fire close to simultaneously โ€” for typical use of a few dozen hosts this is not a concern.

Frequently Asked Questions

Can it resolve reverse DNS (IP to hostname) as well?
Not in this tool โ€” Dns.GetHostAddresses only performs forward resolution. For reverse lookups, a dedicated PTR-record query would be needed; that use case is covered instead by tools like IPNetInfo for ownership context on an IP.

Why did one entry fail while the rest succeeded?
A failed entry usually means the hostname is misspelled, doesn't exist, or the DNS server returned no record for it โ€” the specific exception message shown next to that entry explains which case applies.

Related Utilities