What is the VMX file format?
.vmx is a plain-text file that stores configuration data for VMware, a virtual machine management software (now part of Broadcom). Each line follows a key = "value" format describing the virtual machine's hardware and settings.
.vmx files store various virtual machine-related data, including:
- display and video card support
- number of CPU cores available to the VM
- memory size
- network card settings
- disk and storage device paths (pointing to .vmdk virtual disk files)
- access to USB, CD/DVD and other hardware devices
Virtual machines can be sorted into groups, with extended group details stored in a .vmxf file; when a virtual machine is added to a group, an entry is added to the related .vmx file. Originally, Linux VMware Workstation used .cfg files instead of .vmx files. Hand-editing a .vmx is a common way to apply settings the GUI does not expose.
Security & safety
RISK: LOWA .vmx is a small plain-text config and is not executable on its own, so the file itself is low risk. Two practical cautions: (1) a maliciously edited .vmx could point a VM at unexpected devices/host paths or weaken isolation, so only run .vmx files from VMs you trust, and review suspicious 'key = value' lines (host folder sharing, device passthrough) before powering on; (2) the risk really lives in the VM's DISK (.vmdk) - booting an untrusted VM runs someone else's OS, so keep unknown VMs on an isolated network.
Format details
in a nutshellPrograms that open VMX files
Technical details
deep spec| Format type | Plain-text `key = "value"` property list; one directive per line, no sections or nesting |
| MIME type | `application/x-vmware-vmx` (also accepted as `text/plain`) |
| Character encoding | UTF-8; declared by a `.encoding = "UTF-8"` line that conventionally appears first in the file |
| Config format version | `config.version` key (value `"8"` since Workstation 4) distinguishes file-format revisions from hardware compatibility versions |
| Hardware compatibility level | `virtualHW.version` key increments with each VMware product generation (e.g., `"21"` in Workstation Pro 17 / ESXi 8.0) |
| Typical file size | 1-10 KB; a simple VM has a few dozen lines, a complex one several hundred |
| File identification | No binary magic bytes; identified by characteristic opening keys such as `config.version = "8"` and `.encoding = "UTF-8"` |
| Encryption | Optional; when VM Encryption is enabled the `.vmx` is encrypted at rest and gains `encryption.keyId` and `encryption.keySafe` keys |
| Referenced companion files | `.vmdk` (virtual disk image), `.vmsd` (snapshot descriptor), `.vmsn` (memory snapshot), `.nvram` (firmware/BIOS state) |
| Supported platforms | Windows and Linux (VMware Workstation Pro), macOS (VMware Fusion), VMware ESXi hypervisor datastores |
| VM settings categories | CPU count and topology, RAM allocation, display/GPU, disk controllers, network adapters, USB, optical drives, guest OS type, boot order |
| Developer | VMware, Inc. - acquired by Broadcom in November 2023; format maintained under Broadcom's VMware division |
| Historical predecessor | Early Linux VMware Workstation releases used `.cfg` files in the same role before `.vmx` became standard |
| Hand-editing examples | Common tweaks include `disk.EnableUUID = "TRUE"`, `cpuid.coresPerSocket`, and `isolation.tools.copy.disable = "FALSE"` |
| Released | 1999 (VMware Workstation 1.0; the .vmx config has been the VM definition ever since) |
| Latest version | Tracks the virtualHW.version / hardware compatibility level (e.g. hw v21 in Workstation 17) |
| Specification | knowledge.broadcom.com |
VMX conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about VMX files.