I cannot see any provision for zone index in either QUrl or QHostAddress (and I see your Qt bug report 54746). Everything seems to treat an IPv6 address as 16 bytes. The syntax for the human-readable zone index is inconsistent (e.g. %1 on Windows, %eth0 on Linux) from platform to platform and would have to be treated as an opaque string, stored, and decoded when presented to a relevant part of QtNetwork. QUrl is part of QtCore and probably cannot decode or validate the network interface details without assuming there is a network.