virt-v2v is a production-grade virtual machine conversion tool that converts guests from foreign hypervisors (VMware vSphere/ESXi, Xen, Hyper-V, OVA, disk images) to run on KVM/libvirt. It supports multiple input sources (local disk, libvirt-managed guests, OVA archives, VMware VMX, vCenter HTTPS, VDDK, NFC, Xen over SSH) and output targets (local disk, libvirt, QEMU, oVirt/RHV, OpenStack, KubeVirt, VDSM, Glance, null). The conversion process inspects the guest OS (Linux, Windows) using libguestfs, injects virtio drivers for Windows, adjusts boot configuration, remaps block devices and network interfaces, and generates appropriate metadata (OVF, libvirt XML, KubeVirt YAML). It uses nbdkit as a universal disk access layer, enabling parallel copy via nbdcopy and efficient sparse allocation. The codebase is written primarily in OCaml with C stubs and embedded Python scripts for oVirt API interactions. It features a modular architecture with well-defined input/output module signatures, shared library components (NBD_URI, nbdkit wrapper, OVF generation, YAML emitter), and an extensive test suite covering real and phony guest conversions. The project is part of the libguestfs ecosystem and is actively maintained with recent commits, CI/CD via GitHub Actions, and internationalization support.