Vulkan Specification

The Vulkan Specification (usually referred to as the Vulkan Spec) is the official description of how the Vulkan API works and is ultimately used to decide what is and is not valid Vulkan usage. At first glance, the Vulkan Spec seems like an incredibly huge and dry chunk of text, but it is usually the most useful item to have open when developing.

Reference the Vulkan Spec early and often.

Vulkan Spec Variations

The Vulkan Spec can be built for any version and with any permutation of extensions. The Khronos Group hosts the Vulkan Spec Registry which contains a few publicly available variations that most developers will find sufficient. Anyone can build their own variation of the Vulkan Spec from Vulkan-Docs.

When building the Vulkan Spec, you pass in what version of Vulkan to build for as well as what extensions to include. A Vulkan Spec without any extensions is also referred to as the core version as it is the minimal amount of Vulkan an implementation needs to support in order to be conformant.

Vulkan Spec Format

The Vulkan Spec can be built into different formats.

HTML Chunked

Due to the size of the Vulkan Spec, a chunked version is the default when you visit the default index.html page.

Prebuilt HTML Chunked Vulkan Spec


If you want to view the Vulkan Spec in its entirety as HTML, you just need to view the vkspec.html file.

Prebuilt HTML Full Vulkan Spec


To view the PDF format, visit the pdf/vkspec.pdf file.

Prebuilt PDF Vulkan Spec

Man pages

The Khronos Group currently only host the Vulkan Man Pages for the latest version of the 1.3 spec, with all extensions, on the online registry.

The Vulkan Man Pages can also be found in the VulkanSDK for each SDK version. See the Man Pages for the latest Vulkan SDK.