Too Much Tools logoToo Much Tools

IPv4 Address Converter

Convert an IPv4 address between dotted-decimal, integer, hex, octal, binary and IPv6-mapped, locally.

Local, Runs entirely in your browser, your data never leaves your device.
Loading tool…

Six ways to write the same IPv4 address

This tool parses an IPv4 address written as a dotted quad, a plain decimal integer, or a 0x/0o/0b-prefixed integer, and shows it as dotted decimal, decimal integer, hexadecimal, octal, per-octet binary, and two IPv6-mapped forms. It's useful for decoding a packed integer from a database column, reading a hex address out of a log line, or checking an ::ffff:-mapped literal in dual-stack code. The conversion is a single 32-bit integer operation, so nothing you type leaves your browser.

How to use the IPv4 Address Converter

  1. Type an IPv4 address into the field, using dotted, decimal or 0x/0o/0b form.
  2. Read the converted dotted-decimal, decimal, hex, octal and binary forms in the table.
  3. Copy the IPv6-mapped form if you need an ::ffff: literal for dual-stack code.
  4. Switch the input to a different base to confirm you decoded a value correctly.

The parser accepts a bare 32-bit integer (0 to 4294967295), a 0x/0o/0b-prefixed integer, or a standard dotted quad. Anything else, including octets above 255 or a malformed prefix, is rejected with an error rather than guessed at.

Frequently asked questions

how do I convert an IP address to a decimal number?
Enter the dotted-decimal address and read the Decimal (integer) row: each octet is multiplied by 256 raised to its position and summed, giving a single unsigned 32-bit number between 0 and 4294967295.
what does the ::ffff: prefix mean in an IPv6 address?
It marks an IPv4-mapped IPv6 address (RFC 4291), used when a dual-stack socket represents an IPv4 peer as an IPv6 address; this tool generates that form directly from the address you enter.
can I convert a hex IP address back to dotted decimal?
Yes, enter it with a 0x prefix, for example 0xc0a80101, and the Dotted decimal row shows the equivalent address, in this case 192.168.1.1.
why does my address show as out of range?
Each octet in dotted form must be 0 to 255, and a bare integer must fit in 32 bits, up to 4294967295. Anything larger or malformed throws an error instead of producing a silently wrong result.