The Windows registry is a database that contains thousands of settings and options to allow your computer to function. There is a built-in Registry Editor (regedit) that allows the user to make changes to the registry, although if used improperly, regedit could mess up your Windows install. One of the very useful functions that can be found in the Windows Registry Editor is the option to backup and restore certain parts of it, called export and import. Before making any changes in the registry, it’s always advisable to backup/export the registry keys first. You can do that by right clicking on the registry key that is located at the left hand side tree and select “Export”. Double clicking on the .reg file which you have backed up earlier will restore back the changes.
On the right hand side of the registry window, you will find the registry values. There are several different types of registry values, but the 6 you will find and can create in regedit are String, Binary, DWORD, QWORD, Multi-String and Expandable String. All of the values are displayed in standard ASCII text from the Windows Registry Editor which makes them easy to read. However, after exporting them to a file, you will notice that some of these values are displayed as “hex” text values and not the standard text you find in the registry.
To be more precise, only String (REG_SZ) and DWORD (REG_DWORD) values are displayed in clear text, while Binary (REG_BINARY), QWORD (REG_QWORD), Multi-String (REG_MULTI_SZ) and Expandable String values (REG_EXPAND_SZ) are in the hexadecimal format. If you want to view these hex values as clear-text inside a registry file, you can’t do it unless they are imported back into the registry. Another solution is to use a simple tool that can easily convert the registry hex values to more readable text values to make the data more understandable. Here’s 4 free tools that can help.
1. Raymondcc Reg DeHexer
If you want a simple to use tool that can convert the single line REG_EXPAND_SZ or multiple line REG_MULTI_SZ values from a registry file, then a small program we’ve created ourselves called Reg DeHexer could be useful. It will strip out all the Unicode and null characters etc, and show the decoded value in standard ASCII text format. All you have to do is copy the hex registry value from a registry file, the whole value or everything after the “=” is acceptable so the program can detect single or multiple lines. Then click paste to populate the top window from the clipboard and hit Convert to decode. You can highlight part or all of the result, right click and copy it. Reg DeHexer works on Windows XP and above and is a standalone executable.
Old Timer’s ConvertIt is a simple to use tool that will convert single and multiple hex strings to ASCII text and also the reverse of creating hex values from ASCII text. It supports both the old Windows 9x version 4 and the modern version 5 registry .reg files. Paste in the hex (everything after the colon in the .reg file) or text value, select the conversion method and click the button. The result is clean and stripped of erroneous characters. Hex(2) is for a single line value, Hex(7) is a multiple line value. OTConverIt is only 174KB in size and portable.
ReHexSee is an old utility dating back tot 2003 and we couldn’t find the last minor updated version. It allows you to manually or automatically paste in the registry value (after the colon “:”) and will output the text result. The result isn’t perfect with the output formatting but will at least give you some idea what the text strings are. A useful option to convert text back into a standard hex value is also available with an optional tick box to output in Unicode. RegHexSee is portable and 400KB in size.
Unlike the other tools, Hex2Text is a command line only hexadecimal string to text converter. You will have to run this tool through the Command Prompt and specify the input filename and output filename. Here is an example of converting an exported backup.reg file to a readable backup.txt text file.
hex2text <input_filename> <output_filename>
The <input_filename> is the name of the file with the input hex to convert and <output_filename> is the name of the file where to save the output text.
Although Hex2Text will convert the hex strings without a problem, it does also try to convert everything else in the file, even if it’s standard ASCII text, so parsing a complete .reg file will produce a number of unreadable characters. For best results use a file with just hex values in the input file.