A virtual machine's hard drive is a file, and each program keeps it in its own format: VMware uses .vmdk, Hyper-V .vhdx and .vhd, VirtualBox .vdi, and QEMU, KVM and Proxmox .qcow2. Moving a machine from one to another, or uploading it to a cloud, means converting its disk, which usually takes a command-line tool such as qemu-img, StarWind V2V or VBoxManage.
This page reads the disk you choose, sector by sector, and writes the same disk in the format you pick. Formats that grow as they fill (VHDX, dynamic VHD, VMDK, VDI and QCOW2) leave out the empty space. In Chrome and Edge the new file is written straight to the place you choose as it is converted, so a disk of hundreds of gigabytes needs no more memory than a small one. It is free to use, with no account and no upload limit, and it runs entirely in your browser: nothing is uploaded, and while the page stays open, a feature you have already used keeps working offline.
- How do I convert a VMDK to VHDX for Hyper-V?
- Drop the .vmdk here (with its -flat or -s001 files if it has them), choose VHDX and press Convert. In Hyper-V Manager, make a new virtual machine and choose "Use an existing virtual hard disk", pointing it at the new .vhdx. A disk from an older machine that boots with BIOS goes in a Generation 1 machine; one that boots with UEFI in Generation 2.
- Which virtual disk format should I convert to?
- The one the program you are moving to uses: VHDX for Hyper-V, VMDK for VMware Workstation, Player and Fusion, VDI for VirtualBox and QCOW2 for QEMU, KVM and Proxmox. VirtualBox also opens VMDK and VHD files, so VMDK suits a machine shared between VMware and VirtualBox. Choose a fixed VHD for Azure, and raw IMG to write the disk to a real drive.
- Can I upload the converted VHD to Azure?
- Azure takes fixed-size VHDs whose size is a whole number of megabytes. Choose "VHD, fixed" and keep "Round the size up to a whole megabyte" ticked; the disk is padded with empty space at the end. A fixed VHD is as big as the whole disk, empty space included, so it takes longer to upload; the virtual machine inside also needs Azure's own requirements met (drivers and agent).
- Will the converted virtual machine still boot?
- The disk's contents are copied exactly, sector for sector, so the operating system, files and partitions are as they were. Whether it starts on a different hypervisor depends on the operating system inside having drivers for the new virtual hardware: Linux usually does, and Windows usually does for IDE or SATA disks, but may need the new hypervisor's tools installed. This page changes nothing inside the disk.
- Can it convert a snapshot or a checkpoint?
- Yes, with its parents. A snapshot holds only the changes since its parent, so choose the snapshot and every disk beneath it together; the page says which file is missing if one is. The result is one disk as it is in the newest snapshot, with no parent. Snapshots kept inside a QCOW2 file are not included, only its current state, and ESXi snapshot files (seSparse and vmfsSparse) are not read: consolidate them in vSphere first.
- Can it convert an encrypted virtual disk?
- A QCOW2 disk encrypted by QEMU or a VMDK encrypted by VMware is refused, with the reason. A disk encrypted by VirtualBox cannot be told apart from an ordinary one and would come out unreadable, so remove the encryption in VirtualBox first. Encryption inside the guest, such as BitLocker or LUKS, is copied as it is: the converted disk is still encrypted and opens with the same password or recovery key.
- Why is the converted file a different size from the original?
- Each format keeps empty space differently. Raw IMG and fixed VHD hold every sector, used or not, so they are as big as the disk. The others leave out blocks that are all zeros, in blocks of different sizes: 64 KB for VMDK and QCOW2, 1 MB for VDI, 2 MB for VHD and 32 MB for VHDX, so a VHDX of the same disk can be larger. Space freed inside the guest but not zeroed still counts as used; zeroing free space inside the machine first (sdelete -z on Windows, fstrim or zerofree on Linux) makes the result smaller. A streamOptimized VMDK is also compressed.
- Is there a size limit for converting a virtual disk?
- In Chrome and Edge the new file is written straight to your drive, so the disk can be as large as the space you have for the copy. Firefox and Safari cannot save straight to a file, so the result is built in memory first, up to 1.5 GB. A VHD holds at most 2,040 GB and a sparse VMDK 2 TB; for bigger disks choose VHDX or QCOW2.
- Is the virtual disk sent to a server?
- No. It is read and converted by this browser tab, with this site's own readers and writers for each format; nothing is sent anywhere.