SRV Lookup
Look up a service (SRV) record.
Enter a value above to run SRV Lookup
e.g. _sip._tcp.example.com
Quick answer
An SRV lookup shows which server (hostname and port) handles a specific service for a domain, such as SIP, XMPP, or Minecraft. Each record also lists a priority and weight, where lower priority is tried first and weight splits traffic between servers of equal priority.
An SRV (service) record tells clients where to find a specific service for a domain — not just the host, but the exact port, along with priority and weight for choosing among multiple servers. Instead of hard-coding a hostname, applications like SIP phones, XMPP chat, LDAP, and Microsoft services query a name such as _sip._tcp.example.com to discover the target. This tool performs that lookup for you, so you can confirm a service is published correctly and see every candidate server the domain advertises.
How it works
You enter a service name in the form _service._proto.domain — for example _xmpp-server._tcp.example.com or _sip._udp.example.com. The tool sends a DNS query of type SRV for that exact name. If records exist, DNS returns one line per target, each carrying four fields: priority, weight, port, and the target hostname. The leading underscores and protocol label are part of the record name itself, so the query must match them precisely or you will get an empty answer.
How to read the results
Each SRV answer reads as priority weight port target. Priority works lowest-first: clients try the smallest number, and only fall back to higher numbers if it fails. Among records sharing a priority, weight distributes load proportionally — a weight of 20 receives roughly twice the traffic of a 10. Port is the TCP or UDP port to connect on. Target is the actual hostname; a single dot (.) means the service is explicitly not available.
Common problems & fixes
The most frequent mistake is forgetting the underscores or the protocol label, which makes the record simply not resolve. Confirm the service uses _tcp or _udp as documented for that protocol. Another trap is pointing the target at an IP address — SRV targets must be a hostname with its own A or AAAA record, never a bare IP or a CNAME. If lookups fail, verify the target resolves and that the listed port is actually open and listening.
Frequently asked questions
- What is the difference between priority and weight?
- Priority sets the order: clients always try the lowest priority value first and move to higher values only when a server is unreachable. Weight is a tie-breaker used only among records that share the same priority, splitting traffic in proportion to the numbers. Use priority for primary and backup tiers, and weight for load balancing within a tier.
- Why does my SRV lookup return nothing?
- Usually the query name is slightly wrong. SRV record names must be typed exactly, including both underscores and the protocol, as in _sip._tcp.example.com. Check spelling, confirm _tcp versus _udp, and make sure the record was actually published at your DNS provider. Newly added records also need time to propagate before every resolver can see them.
- Can an SRV target point to an IP address?
- No. The SRV target field must be a hostname that resolves through its own A or AAAA record, and it should not be a CNAME either. If you want the service to reach a specific IP, create a hostname with an A/AAAA record pointing to that IP, then set the SRV target to that hostname and the correct port.