Registry value types, decoded
Every registry value has a type, and .reg files encode each type differently — the reason a "string" can look like a wall of hex bytes in Notepad. The .reg viewer decodes all of them automatically; here's what each one means.
REG_SZ
A plain text string — names, paths, simple settings. In .reg files it appears in quotes, or as hex(1) when stored byte-wise.
REG_EXPAND_SZ
A string containing environment variables like %SystemRoot% that Windows expands when the value is read. Stored as hex(2) in .reg files.
REG_MULTI_SZ
A list of strings, NUL-separated with a double-NUL terminator. Stored as hex(7) in .reg files — which is why it looks like a wall of bytes in Notepad.
REG_DWORD
A 32-bit number, almost always used as a switch (0/1) or a small setting. Written as dword:0000000a in .reg files — hexadecimal, so 0a means 10.
REG_QWORD
A 64-bit number, stored as hex(b) with the eight bytes in little-endian order — timestamps and large counters live here.
REG_BINARY
Raw bytes with app-defined meaning — hardware configs, cached blobs. Shown as hex pairs; only the owning program truly knows the layout.
REG_NONE
A value with a type of "no type" — usually a placeholder. Appears as hex(0) in .reg files.
Two encoding quirks worth knowing: the textual dword: form is written big-endian in the file even though the registry stores numbers little-endian, and long hex values wrap across lines with a trailing backslash. Both are handled for you by the viewer.