Bingo! Adding '-S 0' makes convert work. But it is not perfect as the end result is fully allocated image.
So with qcow2 like this: image: mysql-example.qemu file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 50M cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false and do this: qemu-img convert mysql-example.qemu -S 0 -O vmdk mysql-example.vbox I get 10G vmdk file: 10738794496 Jul 6 18:27 mysql-example.vbox -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1776920 Title: qemu-img convert on Mac OSX creates corrupt images Status in QEMU: New Bug description: An image created by qemu-img create, then modified by another program is converted to bad/corrupt image when using convert sub command on Mac OSX. The same convert works on Linux. The version of qemu-img is 2.12. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1776920/+subscriptions