Software & Apps Windows 63 63 people found this article helpful What Is a Registry Value? Registry values types explained by Tim Fisher General Manager, VP, Lifewire.com Tim Fisher has 30+ years' professional technology support experience. He writes troubleshooting content and is the General Manager of Lifewire. our editorial process Facebook Twitter LinkedIn Tim Fisher Updated on February 18, 2020 Windows The Ultimate Laptop Buying Guide Tweet Share Email The Windows Registry is full of objects called values that contain specific instructions that Windows and applications refer to. Many kinds of registry values exist, all of which are explained below. They include string values, binary values, DWORD (32-bit) values, QWORD (64-bit) values, multi-string values, and expandable string values. Where Are Registry Values Located? Registry values can be found all throughout the registry in Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP. In Registry Editor are not only registry values but also registry keys and registry hives. Each of these objects are like folders and are seen on the left side of the Registry Editor. Registry values, then, are a bit like files that are stored inside these keys and their "subkeys." Selecting a subkey will show all of its registry values on the right side of the Registry Editor. This is the only place in the Windows Registry where you'll see registry values—they aren't ever listed on the left side. Here are just a few examples of some registry locations, with the registry value in bold: HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS\BIOSVendorHKEY_CURRENT_USER\Environment\TEMPHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CurrentUser In each example, the registry value is the entry to the far right. Again, in Registry Editor, these entries are shown as files on the right side. Each value is held in a key, and each key originates in a registry hive (the far left folder above). This exact structure is maintained throughout the entire Windows Registry without exception. Types of Registry Values There are several different types of registry values in the Windows Registry, each created with a different purpose in mind. Some registry values use regular letters and numbers that are easy to read and understand, while others use binary or hexadecimal to express their values. String Value String values are indicated by a small red icon with the letters "ab" on them. These are the most commonly used values in the registry, and also the most human-readable. They can contain letters, numbers, and symbols. Here's an example of a string value: HKEY_CURRENT_USER\Control Panel\Keyboard\KeyboardSpeed When you open the KeyboardSpeed value at this location in the registry, you're given an integer, like 31. In this particular example, the string value defines the rate at which a character will repeat itself when its key is held down. If you were to change the value to 0, the speed would be much slower than if it were to remain at 31. Every string value in the Windows Registry is used for a different purpose depending on where it's located in the registry, and each will perform a particular function when defined at a different value. For example, another string value located in the Keyboard subkey is one called InitialKeyboardIndicators. Instead of choosing a number between 0 and 31, this string value only accepts either a 0 or a 2, where a 0 means the NUMLOCK key will be off when your computer first starts up, while a value of 2 makes the NUMLOCK key turn on by default. These aren't the only types of string values in the registry. Others may point to the path of a file or folder, or serve as descriptions for system tools. A string value is listed in Registry Editor as a "REG_SZ" type of registry value. Multi-String Value A multi-string value is similar to a string value with the only difference being that they can contain a list of values instead of just one line. The Disk Defragmenter tool in Windows uses the following multi-string value to define certain parameters that the service should have rights over: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\defragsvc\RequiredPrivileges Opening this registry value shows that it contains all the following string values: SeChangeNotifyPrivilegeSeImpersonatePrivilegeSeIncreaseWorkingSetPrivilegeSeTcbPrivilegeSeSystemProfilePrivilegeSeAuditPrivilegeSeCreateGlobalPrivilegeSeBackupPrivilegeSeManageVolumePrivilege Not all multi-string values in the registry will have more than one entry. Some function the exact same way as single string values but have the additional space for more entries if they need it. Registry Editor lists multi-string values as "REG_MULTI_SZ" types of registry values. Expandable String Value An expandable string value is just like the string value from above except that they contain variables. When these types of registry values are called upon by Windows or other programs, their values are expanded out to what the variable defines. Most expandable string values are easily identified in Registry Editor because their values contain % signs. Environment variables are good examples of expandable string values: HKEY_CURRENT_USER\Environment\TMP The TMP expandable string value is %USERPROFILE%\AppData\Local\Temp. The benefit to this type of registry value is that the data doesn't need to contain the username of the user because it uses the %USERPROFILE% variable. When Windows or another application calls this TMP value, it gets translated to whatever that variable is set to. By default, Windows uses this variable to reveal a path like C:\Users\Tim\AppData\Local\Temp. "REG_EXPAND_SZ" is the type of registry value that Registry Editor lists expandable string values as. Binary Value As the name suggests, these types of registry values are written in binary. Their icons in Registry Editor are blue with ones and zeros. HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\CaptionFont The above path is found in the Windows Registry, with CaptionFont being the binary value. In this example, opening this registry value shows the font name for captions in Windows, but its data is written in binary instead of in a regular, human-readable form. Registry Editor lists "REG_BINARY" as the type of registry value for binary values. DWORD (32-bit) Values & QWORD (64-bit) Values Both DWORD (32-bit) values and QWORD (64-bit) values have a blue icon in the Windows Registry. Their values can be expressed in either decimal or hexadecimal format. The reason one application may create a DWORD (32-bit) value and another a QWORD (64-bit) value rests not on whether it's running from a 32-bit or 64-bit version of Windows, but instead solely on the bit length of the value. This means that you can have both types of registry values on both 32-bit and 64-bit operating systems. In this context, a "word" means 16 bits. DWORD, then, means "double-word," or 32 bits (16 X 2). Following this logic, QWORD means "quad-word," or 64 bits (16 X 4). An application will create the proper registry value that it needs in order to comply with these bit length rules. The following is one example of a DWORD (32-bit) value in Windows Registry: HKEY_CURRENT_USER\Control Panel\Personalization\Desktop Slideshow\Interval Opening this DWORD (32-bit) value will likely show a value data of 1800000 (and 1b7740 in hexadecimal). This registry value defines how fast (in milliseconds) your screensaver moves through each slide in a photo slideshow. Registry Editor shows DWORD (32-bit) values and QWORD (64-bit) values as "REG_DWORD" and "REG_QWORD" types of registry values, respectively. Backing Up & Restoring Registry Values It doesn't matter if you're changing even just one value, always make a backup before you start, just to be sure that you can restore it back to Registry Editor in case something unexpected happens. Unfortunately, you can't back up individual registry values. Instead, you must make a backup of the registry key that the value is in. See our article on how to back up the Windows Registry if you need help doing this. A registry backup is saved as a REG file, which you can then restore back to the Windows Registry if you need to undo the changes you made. Here's how to restore the Windows Registry if you need help. When Would I Need to Open/Edit Registry Values? Creating new registry values, or deleting/editing existing ones, can solve a problem you're having in Windows or with another program. You may also change registry values to tweak program settings or disable an application's features. Sometimes, you may need to open registry values simply for information purposes. Here are a few examples that involve editing or opening registry values: How to Fake a Blue Screen of DeathHow to Check the Current BIOS Version on Your ComputerHow to Prevent Programs From Stealing Focus in WindowsHow to Make Windows 7 Auto Login How to Add, Change, & Delete Registry Keys & Values More Information on Registry Values Opening a registry value will let you edit its data. Unlike files on your computer which will actually do something when you launch them, registry values simply open for you to edit them. In other words, it's completely safe to open any registry value in the Windows Registry. However, editing values without first knowing what you're doing is a bad idea. There are some circumstances where changing a registry value won't take effect until you reboot your computer. Others don't require a restart at all, so their changes will be reflected instantly. Because Registry Editor doesn't tell you which ones require a reboot, you should restart your computer if a registry edit doesn't seem to be working. You may see some registry values in the Windows Registry listed as REG_NONE. These are binary values that are created when empty data is written to the registry. Opening this type of registry value shows its value data as zeros in hexadecimal format, and Registry Editor lists these values as a (zero-length binary value). Using Command Prompt, you can delete and add registry keys with the reg delete and reg add command switches. The maximum size for all registry values within a registry key is limited to 64 kilobytes.