Port Number Lookup: What Does Port 8080 or 3306 Mean?
A port number tells you which service a connection is aiming at, yet the digits rarely explain themselves in a log line. This page runs three lookups: search by number for its range class and well-known services, search by service name for matching numbers, or paste a host:port string to split it into host, port, scheme, and issues. Results come from a table bundled with the page, so nothing you type leaves the browser.
Three Port Lookups in One Card
Number lookup
Enter a number from 0 to 65535 to see its range class and services.
Service search
Type a service name such as postgres or kafka, or a number, to filter the table.
Host:port parser
Paste host:port, a bracketed IPv6 literal, or a full URL to split it into parts.
How It Works
Every number falls into one of three classes. Ports 0 to 1023 hold core services such as SSH and DNS, and binding one on Linux needs root privileges. Ports 1024 to 49151 are the registered band, where PostgreSQL 5432 sits. Ports 49152 to 65535 are the private band, which the OS picks from for outgoing connections.
A number only names a service together with its protocol. TCP carries connection-oriented traffic such as HTTP and database sessions, while UDP carries datagrams such as DNS queries and NTP. Several services use both, so read the protocol column before writing a firewall rule.
A plain host:port string is split at the colon, and a bare hostname comes back with a note that no port was found. IPv6 literals contain colons of their own, so a port requires brackets, and an unclosed bracket is reported as an issue. Full URLs are parsed too, with https implying 443 and http implying 80.
| Range class | Numbers | Typical use |
|---|---|---|
| System (well-known) | 0-1023 | Core services; root needed on Linux |
| Registered | 1024-49151 | IANA assignments, vendor products, app servers |
| Private (ephemeral) | 49152-65535 | OS-chosen source ports |
Before and After
5432 Range: User (registered) 1024-49151
IANA-registered services plus a large
pool of vendor and application ports.
Known services on this port:
Port Protocol Service Name
5432 tcp postgresql PostgreSQL database 10.0.0.5:8080 Host: 10.0.0.5
Port: 8080
Scheme: none
IPv6: no
Issues: none found Use Cases
| Scenario | What to check | Result |
|---|---|---|
| Firewall rule prep | Number and protocol per service | Range card and protocol column |
| Docker port mapping | Container port versus host port | Internal number confirmed |
| API troubleshooting | Listener address from an error message | Host, port, and scheme with issues listed |
| Flow log triage | Unfamiliar source port in a log | Range class, usually an ephemeral source |
Common Mistakes
- Mixing up internal and external ports. A container listening on 5432 inside may be published as 15432 outside.
- Checking only TCP when the service also listens on UDP. DNS and NTP keep failing after a TCP-only rule is saved.
- Pasting a host with no port and expecting a guess. A bare hostname returns a note that no port was found.
- Treating an unlisted number as free. Absence from the well-known table means this page has no record, not that nothing is listening.
Best Practices
- Check the protocol column before writing a firewall rule, and add both entries when the table shows TCP and UDP.
- Read the range class first so you know whether a number is a core service, a registered assignment, or an OS-chosen source port.
- Confirm the exact number in the service’s documentation; 8080 and 8443 are conventions rather than IANA assignments.
- Validate host:port strings with the parser before pasting them into configs, especially when the address is IPv6.
Frequently Asked Questions
What is a port number?
A port number labels one endpoint of a connection on a host, from 0 to 65535. TCP and UDP keep separate port spaces, so one number can mean different services on each. The lookup maps it to a range class and any well-known service.
Why does the protocol column matter?
A number names a service only together with its protocol, because TCP and UDP keep separate port spaces. DNS uses UDP for ordinary queries and TCP for larger transfers. A rule opening only one protocol often explains a failed connection.
What do the three range classes mean?
Ports 0 to 1023 are the system class; binding them on Linux needs root privileges. Ports 1024 to 49151 are the registered class where IANA records vendor assignments. Ports 49152 to 65535 are the private class, used for outgoing connections.
What if the number is not in the well-known list?
The table here holds common assignments rather than the full IANA registry, so an unlisted number can still be a real service. The lookup then prints the range card and a note that no well-known service matched. Search by service name next.
Can this page check whether a port is open on a server?
No. The lookup reads a local table, so it never sends packets and cannot see firewalls or listeners. To test reachability, run telnet or Test-NetConnection from a machine on the same network path. Use this page first to confirm the number and protocol.
How does the parser handle IPv6 addresses and full URLs?
An IPv6 literal with a port needs brackets, as in [2001:db8::1]:443, because the address itself contains colons. An unclosed bracket is reported as an issue rather than guessed at. Full URLs are accepted too, with https implying port 443.
Does any of my input leave the browser?
No network request runs when you type a number or service name; the data is bundled with the page. The host:port parser is a pure function over the string you paste, so addresses stay in the tab. Closing the page discards every field.