The ultimate DNS analysis utility for Mac. Fast, Native, and Privacy-Focused.
DNSTools bridges the gap between raw terminal network commands and a refined graphical interface. Designed for network engineers, sysadmins, and web developers who need instant answers without the command line context switching.
Dual Engine Technology:
- Local Native Mode: Runs local
dig,ping,trace, andwhoiscommands directly on your machine. Zero latency, unlimited usage, and completely private. - MXToolbox API Mode: Seamlessly integrates with the MXToolbox API to provide standardized reporting and server health analysis.
- Menu Bar Access: Always one click away. Instant visibility into network health.
- Smart History: Automatically logs every search locally using SwiftData. Searchable, filterable, and exportable to CSV.
- Hybrid Resolver:
- Force Local lookups via Cloudflare (1.1.1.1), Google (8.8.8.8), or your own Custom DNS.
- Verify global propagation by switching between local ISP and cloud resolvers.
- 25+ Record Types: Support for A, AAAA, MX, TXT, CNAME, SOA, NS, PTR, and advanced security records (SPF, DKIM, DMARC).
- Pro Tools:
- WHOIS: Smart parsing of registrar data and nameservers.
- Trace Route: Visual hop-by-hop analysis.
- SSL/Headers: Quick HTTP status and header checks.
- Clone this repository.
- Open
DNSToolsMenu.xcodeprojin Xcode 15+. - Important: Disable "App Sandbox" in Signing & Capabilities (Required for local shell commands).
- Build and Run (βR).
- Go to the Releases Page and download
DNSToolsMenu-v{version #}.zip. - Unzip and drag
DNSToolsMenu.appto your Applications folder. - Important: Because this app is unsigned and runs system commands, you must remove the Apple quarantine flag. Open Terminal and run:
xattr -dr com.apple.quarantine /Applications/DNSToolsMenu.app - Open the app. Note: You may need to Right-Click > Open the first time you run it.
The app lives in your menu bar, providing instant access to DNS tools and usage stats.
| Main Menu | Tool Selection | API Usage Badge |
|---|---|---|
| Main Menu | Tools List | Usage Badge |
| Clean native macOS interface | Quick access to 15+ DNS commands | Track API limits at a glance |
Switch between using your local ISP/System DNS or force a specific resolver to check propagation.
| Local (System DNS) | Local (Custom - 8.8.8.8) |
|---|---|
| System DNS | Custom Google DNS |
| Standard lookup using system settings | Forcing a lookup via Google DNS |
Customize your experience with the Hybrid Engine settings.
| General Settings | Resolver Options | Custom IP Input |
|---|---|---|
| Settings General | Resolver Dropdown | Custom IP |
| MXToolbox API Setup | API Key Management | App Preferences |
|---|---|---|
| MX API Setup | API Key Input | Preferences |
Automatically log every query. Search, filter, and export your history to CSV.
| History View | Filtered Results |
|---|---|
| History Log | History Search |
| Detailed log of all queries | Search by domain or record type |
- Start at Login: Toggle auto-launch in Settings.
- API Key: (Optional) Add your MXToolbox API key to unlock the Cloud Engine.
- Custom DNS: Route local
digrequests through a specific IP address to test split-horizon DNS or internal servers.
MIT License. Copyright (c) 2026 Anthony White. This project is free to use and modify for personal or commercial purposes, provided that attribution is maintained.
If you use this source code in your own projects, you must include a reference to the original author Anthony White and this repository.
- Icons: Tabler Icons (MIT License)
- Engine: Built with SwiftUI & SwiftData.
Built with β€οΈ in Swift.