Las direcciones IPv6 se generan utilizando un identificador de interfaz de 64 bits que se agrega a un prefijo de red de 64 bits para crear una dirección de IPv6 de 128 bits. El prefijo de red se asigna al ISP o al propietario de la red y el identificador de interfaz se genera automáticamente por el dispositivo. El identificador de interfaz puede basarse en la dirección MAC de la tarjeta de red del dispositivo, pero también se puede generar de otras formas (por ejemplo, de manera aleatoria) para preservar la privacidad del usuario. Además, existen muchas variantes de generación de direcciones IPv6, como Stateless Address Autoconfiguration (SLAAC) y Dynamic Host Configuration Protocol versión 6 (DHCPv6).