Home Assistant can be confusing to connect to at first. Most URLs we encounter don’t have or need port numbers, but Home Assistant does.
The default port for Home Assistant is 8123, meaning that the correct URL for Home Assistant is:
http://homeassistant.local:8123
Why is the port needed?
Your browser can usually determine the port it needs to connect to the server from the protocol. Usually, the protocol is http or https, where http uses port 80 by default, and https uses port 443. But if you have many web servers running on a single device, they can’t all share the same port. For this reason, most at-home server projects use nonstandard port numbers to avoid collisions.
Home Assistant, by default, uses port 8123 to run its http server, which is the server your browser connects to. So, to ask your browser to use port 8123 instead of the default port 80, we need to specify it.
How do you specify a port to your web browser?
To tell your web browser to use a port different from the default, we add it to the URL. The URL format looks something like this:
<protocol>://<domain-name>:<port>/<path>
Thus, if we want to connect to Home Assistant on port 8123, we need to use the URL
http://homeassistant.local:8123/
What does the .local mean?
You might be wondering what the somewhat unique .local in the URL means. Any domain suffix (.com, .net, .io, etc.) is called the top-level domain. .local is a top-level domain, but it’s slightly unique. .local indicates to the browser to use mDNS, a separate DNS system for in-home devices.
If you want to learn more, we have a full post with more information about mDNS and the .local domain.
Want to know more?
We are all curious explorers. If you want to learn more about Home Assistant, ports, top-level domains, or anything else, join our Homeway Discord server. We are all nerds and love to answer questions!