doggo
A command-line DNS client with colorized tabular output and support for modern DNS protocols including DoH, DoT, DoQ, and DNSCrypt.
Website: https://doggo.mrkaran.dev/
Project: https://github.com/mr-karan/doggo
Author: Karan Sharma
Alternative to: dig (See 1 other)
Language: Go
This page last updated:
doggo is a modern command-line DNS client inspired by dog, written in Go. It provides human-readable, color-coded tabular output and supports a wide range of DNS transport protocols beyond standard UDP/TCP.
- Supports DoH, DoT, DoQ, TCP, UDP, and DNSCrypt
- JSON output for scripting and parsing
- Reverse DNS lookups
- EDNS support: Client Subnet (ECS), NSID, Cookies, Padding, Extended DNS Errors
- Internationalized Domain Names (IDN) with automatic punycode conversion
- Multiple resolvers with customizable query strategies
- Shell completions for zsh and fish
- Web interface at doggo.mrkaran.dev for browser-based queries
- Response time (RTT) measurement

Basic usage
# Simple DNS lookup.
doggo example.com
# Query MX records using a specific nameserver.
doggo MX github.com @9.9.9.9
# Query over DNS-over-HTTPS.
doggo example.com @https://cloudflare-dns.com/dns-query
# JSON output for scripting.
doggo example.com --json | jq '.responses[0].answers[].address'
# Reverse DNS lookup.
doggo --reverse 8.8.8.8 --short