Rango IP a CIDR
Escriba la dirección IPv4 inicial y la final y obtenga los menos bloques CIDR posibles que cubren exactamente ese rango: de 192.168.1.13 a 192.168.1.20 salen cuatro bloques, sin dejar fuera ninguna dirección y sin invadir las vecinas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- IP inicial
- 192.168.1.13
- End ip
- 192.168.1.20
- Inicio como entero
- 3 232 235 789
- Fin como entero
- 3 232 235 796
- Cantidad de direcciones
- 8
- Cantidad de CIDR
- 4
Los cortafuegos, los grupos de seguridad en la nube y los anuncios BGP casi nunca aceptan un par arbitrario de direcciones IPv4 de inicio y fin. Exigen prefijos CIDR: bloques compactos de potencia de dos escritos como dirección barra longitud de prefijo. Convertir un rango humano como 192.168.1.13 hasta 192.168.1.20 en el conjunto más pequeño de CIDR que cubra exactamente esas direcciones—sin hosts faltantes y sin invadir vecinos—es una tarea clásica de ingeniería de redes. Esta calculadora de rango IP a CIDR realiza esa conversión con un algoritmo codicioso determinista: desde el extremo inferior del rango emite repetidamente el mayor bloque alineado que aún cabe en el tramo restante. Usted obtiene la lista plana de cadenas CIDR, la primera y la última dirección de cada bloque, los tamaños y el recuento total de hosts.
Qué significa una cobertura CIDR mínima y exacta
Un bloque CIDR es un tramo contiguo de direcciones cuya longitud es una potencia de dos y cuya primera dirección está alineada a esa longitud: para el prefijo p el tamaño del bloque es dos elevado a (32 menos p), y la dirección de red debe ser divisible por ese tamaño. Cubrir un rango con CIDR es fácil si se admite desperdicio—basta un superred sobredimensionado—pero el desperdicio es peligroso en listas de permiso y derrochador en listas de denegación.
Cobertura exacta significa que la unión de los bloques emitidos iguala el rango original en sentido conjuntista: cada dirección del rango aparece en exactamente un bloque, y ninguna dirección exterior aparece. Mínima significa el menor número de esos bloques, lo que el método codicioso estándar logra tomando siempre el mayor bloque legal en el borde izquierdo actual.
Por ejemplo, las ocho direcciones de 192.168.1.13 a 192.168.1.20 se convierten en cuatro prefijos: una ruta de host para .13, un /31 para .14–.15, un /30 para .16–.19 y una ruta de host para .20. Un solo /29 habría llegado de .16 a .23 y se habría pasado; un /28 habría sido peor. La calculadora no inventa suposiciones de red privada: los rangos públicos, privados, multicast y loopback se tratan todos como enteros de 32 bits, de modo que la misma lógica sirve para RFC1918, CGNAT y espacio público.
Dónde ahorra trabajo convertir rangos en bloques
Los equipos de red y de plataforma pegan en tickets pares inicio–fin del proveedor y necesitan forma CIDR antes de abrir un cambio. Los módulos de landing zone en la nube solo aceptan listas CIDR; convertir columnas de hojas de cálculo de pools DHCP o rangos de interconexión de partners en locals de Terraform es un trabajo habitual de CI.
Prefiera esta capacidad cuando la intención de búsqueda sea conversión de rango a prefijo; use una calculadora de subred general cuando ya tenga un solo CIDR y necesite máscara, wildcard o detalle de hosts de ese único bloque.
Qué puede hacer con ella
Redacción de cortafuegos y ACL
Convierta rangos IPv4 inicio–fin del partner en la lista mínima de CIDR que su cortafuegos, security group o sintaxis de ACL de router acepta de verdad.
Infraestructura como código y CI
Convierta rangos de hojas de cálculo o CMDB en arrays CIDR de Terraform, Ansible o policy-as-code en un paso de pipeline determinista.
Enriquecimiento de threat intel y SOAR
Normalice rangos de indicadores de tickets a conjuntos CIDR exactos para condiciones de coincidencia sin invadir vecinos benignos.
Preguntas frecuentes
¿En qué se diferencia de una calculadora de subred?
Una calculadora de subred suele partir de un CIDR y reportar máscara, hosts y límites. Esta herramienta parte de un par inicio–fin arbitrario y produce la cobertura multi-CIDR mínima.
¿Por qué un solo rango se convierte en varios bloques CIDR?
Cada bloque debe contener una cantidad de direcciones que sea potencia de dos y empezar en un límite alineado. Las ocho direcciones de 192.168.1.13 a 192.168.1.20 no caben en un solo bloque, así que salen cuatro: .13 sola, .14 a .15, .16 a .19 y .20 sola.
¿Por qué no cubrir el rango con un único bloque más grande?
Porque invadiría direcciones vecinas. Un /29 que empieza en .16 llega hasta .23, más allá del final del rango. En una lista de acceso eso abriría direcciones que usted no quería permitir, por eso solo salen bloques exactos.
¿Qué pasa si escribo el inicio y el final al revés?
El rango se rechaza en lugar de invertirse en silencio. El inicio debe ser menor o igual que el final, porque un intercambio callado ocultaría un error al copiar y pegar en su lista.
¿Cuántos bloques puede necesitar como máximo un rango IPv4?
Nunca más de 32. El espacio completo, de 0.0.0.0 a 255.255.255.255, incluso se reduce a un único bloque, 0.0.0.0/0, así que el resultado siempre es corto.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/ip-range-to-cidr \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_ip":"192.168.1.13","end_ip":"192.168.1.20"}'const res = await fetch("https://api.kit.forhosting.com/dev/ip-range-to-cidr", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_ip": "192.168.1.13",
"end_ip": "192.168.1.20"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ip-range-to-cidr",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_ip": "192.168.1.13",
"end_ip": "192.168.1.20"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ip-range-to-cidr", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_ip":"192.168.1.13","end_ip":"192.168.1.20"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_ip":"192.168.1.13","end_ip":"192.168.1.20"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ip-range-to-cidr", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"start_ip": "192.168.1.13",
"end_ip": "192.168.1.20"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ip_range_to_cidr",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Qué significa una cobertura CIDR mínima y exacta
Un rango IPv4 inclusivo es cada dirección desde start_ip hasta end_ip contada como enteros de 32 bits.
Contrato de entrada, forma de la respuesta y validación
El bucle codicioso emite como máximo treinta y dos bloques para cualquier rango IPv4, así que el tamaño de la respuesta permanece pequeño incluso de 0.0.0.0 a 255.255.255.255, que se colapsa al único prefijo 0.0.0.0/0. Combine la lista cidrs con su dialecto de cortafuegos—CIDR de security groups de AWS, iptables, nftables, object-groups de ACL Cisco o listas IP de CDN de borde—sin más aritmética de su parte. Envíe por POST un cuerpo JSON con dos cadenas obligatorias: start_ip y end_ip, cada una una dirección IPv4 estricta en cuatro octetos decimales de 0 a 255 sin ceros a la izquierda (así 192.168.1.1 es válida y 192.168.01.1 se rechaza). Se recortan los espacios en blanco alrededor de la cadena. start_ip debe ser menor o igual que end_ip; los rangos invertidos fallan con invalid_input en lugar de intercambiar extremos en silencio, porque un intercambio silencioso oculta errores de copiar y pegar en la automatización. Si tiene éxito, el cuerpo devuelve start_ip y end_ip normalizados, sus formas enteras sin signo start_int y end_int, el address_count inclusivo, el cidr_count, un array plano cidrs de cadenas como 10.0.0.0/8, y un array blocks de objetos con cidr, prefix, network, first_ip, last_ip y size. Campos faltantes, valores que no son cadena, octetos mal formados, octetos fuera de rango y start mayor que end provocan invalid_input y no se facturan.
Dónde una API de rango IP a CIDR aporta valor
Los playbooks SIEM y SOAR que expanden rangos de threat intel a condiciones de coincidencia se benefician de un endpoint de parse puro sin red saliente propia.
Preguntas técnicas
¿Cómo convierto un rango IPv4 a bloques CIDR?
Envíe start_ip y end_ip como cadenas en cuatro octetos con start ≤ end. La API devuelve la lista mínima exacta en cidrs más network, first_ip, last_ip, prefix y size por bloque.
¿La calculadora cubre el rango de forma exacta?
Sí. El algoritmo codicioso nunca se pasa de end_ip ni omite direcciones del rango inclusivo, de modo que la unión de bloques iguala el rango original.
¿Qué ocurre si start_ip es mayor que end_ip?
La tarea falla con invalid_input. Los extremos no se intercambian solos para que los fallos de automatización sigan visibles; corrija el orden e inténtelo de nuevo.
¿Cuánto cuesta la calculadora de rango IP a CIDR?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.