About the HEX to IP Converter
Hexadecimal addresses turn up wherever software prints raw bytes: /proc/net/tcp on Linux, Wireshark hex panes, firewall logs, and database columns where an address was stored as a 32 bit integer. Reading C0A80101 as 192.168.1.1 in your head is slow and error prone, so paste a column of them here instead.
Separators are optional. 0xC0A80101, C0A80101, C0.A8.01.01 and c0:a8:01:01 all decode to the same address, since the prefix and any dots, colons, spaces, dashes or underscores are stripped before the eight digits are read. Anything that is not exactly eight hex digits after cleaning is rejected with a message naming the offending line, which is what you want when a paste has picked up a stray character.
The byte order switch exists because some sources print the address in memory order rather than network order. Linux /proc/net entries on a little endian machine are the classic case, where 0101A8C0 means 192.168.1.1. Flip the option and the four bytes are reversed before they are joined.
Each line is converted independently, so a whole log column can be pasted at once. To go the other way use IP to Hex, and for the 32 bit integer form used by many databases see Decimal to IP.
How to use
- Paste one hex address per line into the left pane.
- Leave the byte order on big endian for normal network notation.
- Switch to little endian for values read from
/proc/nettables. - Copy the dotted addresses out of the right pane.
Common questions
- Does the 0x prefix matter?
- No. The prefix is optional and is removed before decoding, as are dots, colons, spaces, dashes and underscores.
- Why is my value rejected?
- An IPv4 address is exactly 8 hex digits. Fewer or more digits means the value is not a full address, so it is reported instead of being guessed at.
- Can it decode IPv6 hex?
- No, this tool targets 32 bit IPv4 values. Use the IPv6 tools for 128 bit addresses.
- When should I choose little endian?
- When the hex came from a memory dump or a Linux /proc file on an x86 machine, where the bytes are stored in reverse order.