Build tag

A build tag or build string is a common name for the version string format used by recent versions of Microsoft Windows. In its fully expanded form, the build tag is a unique identifier of a Windows compile that includes the version number, target architecture and build type, branch or lab name, account username for private builds, and compilation timestamp.
Build tags were first introduced towards the end of Windows 2000 development, although they were not inserted into Windows builds themselves until very early into the development of Windows XP. Since then, the build tag is shown in winver as a part of the version information. It is also a prominent part of watermarks shown by most pre-release builds of Windows.
== Format ==
Modern build tags most commonly use the following format:
version.arch.lab.timestamp
However, depending on the Windows version, the following formats may also be encountered:
version (lab.timestamp)
version built by: lab at: timestamp
version built by: lab
A build tag is composed of the following components:
* version is the full version number, i.e. 6.3.9600.16384. The major and minor version or the delta number is often omitted, in which case there is no default implied value.
* arch is the target platform identifier suffixed by the build type (fre for free/retail builds, chk for checked/debug builds). This part is often left out when it is not considered necessary to identify the exact compile. Known target platform identifiers are as follows:
**x86 for 32-bit x86
**x64, amd64 for 64-bit x86
**axp64 for 64-bit DEC Alpha
**ia64 for Itanium
**woa, arm for ARM32
**arm64 for ARM64
* lab is the name of the branch or build lab that the build was compiled from. For private builds, this is followed (or replaced for early build tags) by the username of the account that initiated the build in parentheses; this can sometimes be an official build service account, like wincbld (Windows Central Build Account) or wmbla (Windows Main Build Lab Account). Private builds compiled after the migration to Git use the dummy GitEnlistment lab name.
* timestamp is the compilation date and time in the YYMMDD-hhmm format.
The build tag may be followed by a hash of activation data from the registry, although it is not considered to be a part of the build tag itself.
Applying the above logic, the build tag 10.0.10240.16384.x86fre.th1.150709-1700 is the free/retail 32-bit x86 build of version 10.0.10240.16384, which was compiled from the th1 branch on 9 July 2015 17:00 (PT).
== Location ==
The build tag of the currently running version of Windows is located in the registry under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion. Depending on the exact version being used, there are two string values named BuildLab and BuildLabEx. However, it might not necessarily match the tag reported in winver in certain Windows 10 updates, e.g. Windows 10 November 2019 Update and all updates since the May 2020 Update, as the build number is artificially increased by a separate mechanism in order to distinguish between the updates.
Since Windows Server 2022, the build tag can also be found under the OSClient and ShellCommon subkeys within HKEY_LOCAL_MACHINE\SYSTEM\Software\Microsoft\BuildLayers.
In older versions of Windows, the build tag is inserted into the file version information for system files. Due to the implementation of reproducible builds during the development of Windows 10 Creators Update, most files now only contain a dummy build tag with the full version number, but a placeholder lab and timestamp component, i.e. (WinBuild.160101.0800), as including build timestamps breaks the deterministic premise that compiling the same source code would always result in the exact same binary no matter what.
== See also ==
* Build lab
* Watermark