WINMD

winmd icon

Windows Runtime metadata describing types, interfaces, classes, methods, and attributes for WinRT components

File type: Various data file

A WINMD file contains metadata for a Windows Runtime (WinRT) component. It describes public types, interfaces, enumerations, methods, properties, events, and attributes so development tools and language projections can understand and consume the component.

These files are primarily used by Visual Studio, the Windows SDK, and WinRT language tools. They are not normally opened as documents, but metadata viewers such as ILSpy and JetBrains dotPeek can display much of their content.

What is winmd file?

File type category:
Various data file

Date updated: August 6, 2026

WINMD files use a metadata structure based on the ECMA-335 Common Language Infrastructure format. Although they resemble .NET assemblies, their primary purpose is to describe a Windows Runtime contract rather than provide ordinary application code. Implementation code is typically stored separately in a component DLL.

The metadata enables language projection, allowing tools to expose WinRT types in languages such as C#, C++/WinRT, and JavaScript. It can describe runtime classes, interfaces, delegates, enumerations, asynchronous operations, collections, methods, properties, events, and related attributes.

The format became part of the Windows 8-era Windows Runtime development model and remains relevant to WinRT, Windows App SDK, and C++/WinRT projects. Developers may encounter files supplied with the Windows SDK, installed frameworks, NuGet packages, or custom WinRT components. Visual Studio can also generate metadata through the /WINMD linker option.

WINMD files are primarily Windows-oriented, although current cross-platform builds of ILSpy and other .NET metadata tools may inspect them on macOS and Linux. Full compilation and WinRT consumption generally require the appropriate Windows SDK and, in many cases, a Windows development environment.

How to open winmd file?

WINMD files are normally consumed automatically by development tools rather than opened directly. On Windows, install the relevant Windows SDK or open the file with Visual Studio. For inspection, ILSpy and JetBrains dotPeek may show namespaces, types, signatures, and metadata.

On macOS or Linux, try a current cross-platform build of ILSpy or another compatible .NET metadata viewer. Results may be limited because WinRT type resolution can depend on Windows SDK reference files and Windows-specific libraries. Do not edit the file as ordinary text, since changing its binary metadata can make it unusable.

How to convert winmd file?

WINMD is an API metadata format, so it is not normally converted to a document, media, or general-purpose archive format. Windows development tools can generate it from WinRT component projects, while specialized tools may inspect or represent its declarations for analysis or further development. The appropriate workflow depends on whether the file describes a custom component or a Windows SDK API.

There is no broadly recommended online converter for WINMD files. For controlled inspection or regeneration, use the Windows SDK, Visual Studio, C++/WinRT tooling, or a metadata utility such as ILSpy. Preserve the original file and verify any regenerated metadata in the target project, since SDK versions, references, and WinRT type compatibility can affect the result.

The default software to open winmd file:

Associated software actions with the winmd file

Software apps that import winmd files:

Software apps that export winmd files:

Related file extensions