What port does BACnet IP use?
Updated 4 November 2026
BACnet/IP uses UDP port 47808 by default. That is
0xBAC0 in hex, which is where the number comes from. It is UDP, not TCP,
and discovery relies on broadcasts to that port. When more than one BACnet/IP network
shares an IP subnet, the others use other ports, normally from the
47808–47823 range (0xBAC0–0xBACF).
47808, and why
The default port is 47808 decimal, which reads 0xBAC0 in hexadecimal.
BACnet/IP sends connectionless UDP datagrams; a
Who-Is goes out as a broadcast to that port so
every device on the subnet hears it, and reads and writes go to each device's IP on the
same port.
When it is not 47808
Each UDP port on a subnet is a separate BACnet/IP network, and a router is needed to pass traffic between them. Some sites use this to split, for example, lighting onto 47809 or a third-party gateway onto 47810. A device on 47809 never answers a scan on 47808, so you have to know the port. Easy BACnet always scans 47808 and also tries 47809, 47810 and 47817; for any other port, use Add device by IP… and type the port in.
Firewalls, BBMDs and MS/TP
If an access list between VLANs or a host firewall drops UDP 47808, discovery and reads fail even though the devices are fine; the network team needs to allow it in both directions. Broadcasts on 47808 do not cross a router at all; that takes a BBMD on each subnet, and the BBMDs need unicast 47808 open between them. MS/TP devices have no IP port; they sit on an RS-485 trunk and reach IP through a BACnet router. BACnet Secure Connect (BACnet/SC) is different again: it runs over TLS on TCP, often port 443, and is not something Easy BACnet speaks. See what is BACnet/SC?
Check it on your own network. Easy BACnet is a free Android app that finds BACnet IP devices and reads their points in a couple of taps.
Get it on Google Play