BACnet/IP Hex Converter BACnet

The hex blob EBO and other BACnet tools show for a BACnet/IP device ↔ a dotted-decimal IP and UDP port, both directions.
Hex → IP decodes an 8-character (IP only) or 12-character (IP + port) hex string. IP → Hex builds the string from a dotted-decimal IP and an optional port — the default is 47808 (0xBAC0). Object ID unpacks the other 32-bit blob BACnet tools show — the Object_Identifier's 10-bit type and 22-bit instance — and packs one back up.

Inputs are seeded with an example — edit them to your numbers.

IP address
UDP port
Port notes
Length
Format

BACnet/IP identifies a device by six bytes — four for the IPv4 address, two for the UDP port — and some front ends display those bytes raw as one hex string. C0A8 0164 BAC0 reads as 192.168.1.100 on port 47808; an 8-character string is the address alone.

Hex string
Length
Port notes
Output form

Each octet of the dotted-decimal address becomes one hex byte pair, and the UDP port appends as two more — the default BACnet/IP port encodes as BAC0. The 12-character result is the same six-byte address field a BBMD's Broadcast Distribution Table entries carry (each entry pairs it with a four-byte broadcast-distribution mask).

Two-way: paste the raw value off the wire, or type a type number and instance to pack one.

Object type
Instance
Reads as
Raw (decimal)
Raw (hex)

The 32-bit Object_Identifier packs the object type into its top 10 bits and the instance into the bottom 22 — raw = type × 4194304 + instance, so 0x020004D2 reads as Device, 1234. The full Object_Type table lives on the BACnet Object Reference; instance 4194303 is the unassigned/wildcard value.

BACnet/IP Port Reference — UDP 47808 (0xBAC0)

PortHexTypical use
47808BAC0Default BACnet/IP

UDP 47808 (0xBAC0) is the IANA-registered BACnet port and the only one you'll encounter in the field unless you're running multiple logical BACnet/IP networks on the same host. ASHRAE 135 Annex J describes a convention for additional networks on sequential ports (47809 / BAC1 and up) — those are not IANA-registered. Confirm against the site's actual BACnet design.

BACnet Basics covers the object model, the services, the priority array, and how Who-Is / I-Am discovery works. BACnet Networking is the companion page on the gotchas behind the hex-blob conversion above — the three layers of addressing, BBMDs and Foreign Device Registration, and the BVLL/NPDU/APDU frame each BACnet/IP message wraps itself in.

What port does BACnet/IP use?

UDP 47808 — 0xBAC0 in hex. It is the IANA-registered BACnet port and the default everywhere. Additional logical BACnet/IP networks on one host conventionally take 47809 (0xBAC1) and up, but those are not IANA-registered.

How is a BACnet Object Identifier encoded?

As one 32-bit value — the top 10 bits are the object type (0–1023), the bottom 22 the instance (0–4194303). Raw = type × 4194304 + instance, so Device 1234 packs to 0x020004D2.

What does instance 4194303 mean?

It is the all-ones 22-bit value, reserved as the unassigned/wildcard instance — no real object can use it. You'll meet it in discovery traffic and in tools that use it to mean "any instance."

Why does my workstation show a BACnet/IP address as hex?

BACnet/IP identifies a device by six bytes — four for the IPv4 address, two for the UDP port — and some front ends display those bytes raw. C0A80164BAC0 is 192.168.1.100 on port 47808.
← All tools