What is the MANIFEST file format?
A .manifest file is an XML document used by the Windows operating system to provide application metadata, assembly binding information, and security configuration. It holds plain-text structured data describing an executable or installer package - including required privileges, dependent assemblies, file extensions, and runtime parameters.
Windows uses .manifest files in two primary roles. The first is Side-by-Side (SxS) assembly binding, introduced with Windows XP: the manifest tells Windows which version of shared libraries (such as the Common Controls DLL) an application depends on, preventing "DLL Hell" conflicts where multiple programs clash over shared components. A manifest can also activate the visual styles engine - enabling the themed appearance of controls - without changing the application's core functionality or available features.
The second major role, introduced in Windows Vista, is declaring a UAC (User Account Control) privilege level. A manifest specifying requireAdministrator or asInvoker tells Windows what elevation to request when the user launches the program.
The .manifest filename typically matches the executable it accompanies, with .manifest appended - for example, the manifest for notepad.exe is named notepad.exe.manifest and sits in the same folder. Alternatively, the manifest can be compiled directly into the .EXE or .DLL as an embedded Win32 resource (resource type RT_MANIFEST), which is the preferred approach for modern applications.
.manifest files are also commonly compiled into CDF-MS files, giving the underlying program faster access to application parameters at runtime.
Security & safety
RISK: LOWA .manifest is plain XML text - it can't execute, so opening one to read is safe. Editing is the real risk: changing a program's manifest (especially the UAC level or assembly dependencies) can break startup or cause a 'side-by-side configuration is incorrect' error, so back up the original first and only edit if you understand it. Don't delete an .exe.manifest that sits next to a program - some apps fail to launch without their external manifest. Manifests themselves are not a malware vector, though as with any file, be cautious of one with a misleading double extension.
Format details
in a nutshell- Java JAR MANIFEST.MF - Inside .jar archives, META-INF/MANIFEST.MF is a plain-text (not XML) manifest listing main class and attributes.
- Web App Manifest - PWAs use a JSON manifest (usually manifest.json/manifest.webmanifest) describing the installable web app.
- Cache / asset manifest - Various tools (HTML5 AppCache, build tools, game engines) write text/JSON .manifest files listing bundled assets.
Programs that open MANIFEST files
Technical details
deep spec| File structure | XML (UTF-8 text); root element <assembly> in the urn:schemas-microsoft-com:asm.v1 namespace |
| MIME type | application/xml |
| Binary signature | None - plain XML text; most files begin with <?xml version="1.0"?> or directly with <assembly |
| Embedding method | Can be embedded as a Win32 resource (type RT_MANIFEST, ID 1 for .exe files, ID 2 for .dll files) inside the host binary instead of existing as a separate file |
| External file naming | Named after the associated executable with .manifest appended (e.g., app.exe.manifest); must be placed in the same directory as the executable |
| Primary roles | Side-by-Side (SxS) assembly version binding, UAC privilege-level declaration, Common Controls v6 visual styles activation, registration-free COM activation |
| UAC trust levels | Supported requestedExecutionLevel values: asInvoker, highestAvailable, requireAdministrator |
| Key XML namespaces | urn:schemas-microsoft-com:asm.v1 (assembly identity and SxS); urn:schemas-microsoft-com:asm.v3 (UAC trustInfo) |
| SxS version binding | Lists dependent assembly names and exact version quads (e.g., 6.0.0.0) to redirect DLL loading at runtime without registry entries |
| Platform support | Windows XP and later; UAC requestedExecutionLevel and visual styles activation require Windows Vista or later |
| Runtime mechanism | Windows loads manifests into an Activation Context (actctx) at process start to redirect assembly bindings transparently |
| Compilation target | Can be compiled into .cdf-ms (Catalog Definition Format - Manifest Store) files for faster runtime parameter access |
| Developer toolchain | Created and embedded by Visual Studio, MSBuild, and the mt.exe Manifest Tool (Windows SDK); editable in any plain-text editor |
| Typical file size | 1-10 KB; contains only XML metadata declarations with no binary payload |
| Released | Windows XP (2001); UAC privilege manifests since Windows Vista (2007) |
| Specification | learn.microsoft.com |
MANIFEST conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about MANIFEST files.