The Devs Tools

Network Engineering: A Practical Guide to IPv4 Address Converter

August 18, 2026 · The Devs Tools Team

An IPv4 address is, at its core, just a 32-bit unsigned integer. The familiar dotted-decimal notation — four numbers from 0 to 255 separated by dots — is simply a human-readable convenience that splits those 32 bits into four 8-bit octets and renders each in base 10. But the same address can be losslessly represented in other bases: as a single 32-bit binary string, as a compact hexadecimal value, or as one large decimal integer. Engineers run into these alternate representations constantly — binary is essential for understanding subnet masks and bitwise operations, hexadecimal shows up in packet captures, firewall rules, and some legacy configuration formats, and the plain integer form appears in database schemas that store IP addresses as INT or BIGINT columns for fast range queries. Converting between these forms by hand invites arithmetic mistakes, particularly with the octet-to-hex and octet-to-integer steps, where a single mis-multiplied power of two silently produces a wrong address that still looks plausible. A converter that performs all three representations simultaneously, from a single input, removes that risk and makes it trivial to sanity-check a value seen in a log file, a router config, or a bug report against its dotted-decimal equivalent.

[!TIP] Need to convert an IPv4 address between decimal, binary, and hex right now? Try our free, local IPv4 Address Converter to translate addresses completely offline.


A Fully Worked Example

Take the common private address 192.168.1.1. Each octet converts to binary independently:

192 -> 11000000
168 -> 10101000
  1 -> 00000001
  1 -> 00000001

Concatenated, the full 32-bit binary form is 11000000.10101000.00000001.00000001. Converting each octet to two-digit hexadecimal gives C0.A8.01.01. Treating the entire 32-bit string as a single unsigned integer:

192 × 16,777,216 = 3,221,225,472
168 ×     65,536 =    11,010,048
  1 ×        256 =           256
  1 ×          1 =             1
                    -------------
                      3,232,235,777

So 192.168.1.1 is exactly 3232235777 as a 32-bit integer — a value you'll often see stored directly in database columns for efficient CIDR range comparisons.

Why Each Representation Matters

  • Binary is indispensable for subnetting: ANDing an address with a subnet mask, both in binary, reveals the network portion directly.
  • Hexadecimal shows up in packet dumps, MAC-adjacent tooling, and some embedded network stacks that prefer compact fixed-width hex fields.
  • Decimal integer form is the standard way relational databases index IP ranges without string comparisons, since a single BETWEEN query on an integer column is far faster than pattern matching on dotted strings.

Conclusion

The four representations of an IPv4 address — dotted-decimal, binary, hexadecimal, and 32-bit integer — are just different lenses on the same 32 bits. Being able to convert instantly between them, without manual arithmetic, makes it far easier to cross-reference addresses across logs, database records, and low-level network configuration where each format tends to show up.