Cómo convertir entre direcciones IPv4 y enteros de 32 bits

Esta página convierte una dirección IPv4 con puntos en el número sin signo de 32 bits que codifican sus cuatro octetos, y hace el camino inverso. 192.168.10.1 se convierte en 3232238081 y 3232238081 vuelve a ser 192.168.10.1.

Las dos direcciones se calculan en la pestaña del navegador y la dirección no se sube a ningún servidor. Un valor que no sea una IPv4 con puntos válida o un número entero de 0 a 4294967295 se rechaza con un mensaje que indica el problema, en lugar de convertirse en un resultado incorrecto.

  1. Escribe o pega una dirección IPv4 con puntos, como 192.168.10.1, o un número entero como 3232238081. Cargar ejemplo rellena 192.168.10.1.
  2. Pulsa IPv4 → entero para leer la dirección como número, o Entero → IPv4 para volver. La página no adivina el sentido a partir del contenido, por eso hay dos botones.
  3. Lee el resultado en el segundo campo: un entero decimal o una dirección con puntos, sin ceros de relleno ni separadores.
  4. Pulsa Copiar resultado para copiar el valor, o Limpiar para vaciar los dos campos y empezar de nuevo.
  5. Si la entrada se rechaza, la nota sobre los botones indica el motivo: número de octetos, rango del octeto, un cero a la izquierda, un signo, un punto decimal, un exponente o un valor fuera de 0–4294967295.

Qué hace la conversión y qué rechaza

Por qué el número corresponde a la dirección

Una dirección IPv4 es un número de 32 bits escrito como cuatro octetos decimales. El valor sigue el orden de bytes de red, así que el primer octeto es el byte más significativo: se multiplica por 16.777.216 (256³), el segundo por 65.536, el tercero por 256 y el último por 1. Así se obtiene 3232238081 a partir de 192.168.10.1, y por eso los extremos del rango son 0.0.0.0 = 0 y 255.255.255.255 = 4294967295.

Las bases de datos y las API de red guardan las direcciones así porque un solo entero se compara, se ordena y se indexa mejor que una cadena: ip2long() de PHP e INET_ATON() de MySQL devuelven el mismo valor que muestra esta página (comprobado en el servidor que la sirve). El número es sin signo; esos mismos 32 bits leídos como entero con signo serían negativos a partir de 128.0.0.0 (2147483648).

Entradas aceptadas y rechazadas

La dirección exige exactamente cuatro octetos decimales separados por puntos, cada uno de 0 a 255 y sin ceros a la izquierda: 192.168.010.1 se rechaza porque el cero inicial hace ambiguo el octeto. También se rechazan tres octetos, un quinto octeto, letras o un espacio dentro del valor; la forma de cinco octetos 192.168.10.1.5 antes se aceptaba ignorando la última parte sin avisar.

El número exige dígitos decimales sin signo, sin punto decimal y sin exponente: -1, 1.5 y 3.232238081e9 se rechazan, igual que cualquier valor superior a 4294967295. La página solo convierte IPv4; las direcciones IPv6 como ::1, una longitud de prefijo como /24 y la notación hexadecimal u octal se informan como entrada no válida en lugar de interpretarse.

Leer y reutilizar el resultado

La salida es deliberadamente sencilla: un entero decimal sin separadores de millares o una dirección con puntos sin ceros a la izquierda, lista para pegar en SQL, en un archivo de configuración o en código. Usa Copiar resultado en lugar de seleccionar el texto a mano; la copia ocurre en el navegador y no necesita subir nada.

Como no se envía nada a un servidor, la conversión también funciona con la red desconectada una vez cargada la página, y el mismo valor puede comprobarse con ip2long(), INET_ATON() o inet_aton(). El campo de resultado guarda un solo valor: cada conversión lo reemplaza y Limpiar vacía los dos campos.

Herramientas recientes: