Base
Pointer Size
EndianLittleBigAutomatic
This page allows you to convert hexadecimal values taken from a hex editor or a debugger and convert them into various common data types. The format of the data types is specified using a similar format to many programming languages based on C.
Copy the hex data into the Data box. This should be in single bytes, with spaces between each byte. In the Type box you should put a list of basic C types, separating each with a semicolon. You can specify arrays using the [N] syntax. The default values when you load the page show some simple examples of the syntax you can use.
The Base option lets you change the displayed results from decimal to another base. All values automatically become unsigned in bases other than 10.
The Pointer Size option lets you specify any size, although typically it will be either 32 or 64.
By default, the data will be converted assuming the same endian as the computer on which you are viewing the page, but this can be changed.
The Alignment options let you change how many bytes each type must be aligned to. The default values are the same as the defaults used by Microsoft Visual Studio when compiling for x86/x64 systems.
The data types supported are taken from C, C++, C# and HLSL. It also supports other aliases for these types, including some used by Unreal Engine 4.
| Type | Description | Aliases |
| int64 | 64 bit signed integer | __int64, s64 |
| uint64 | 64 bit unsigned integer | unsigned int64, u64, QWORD |
| int | 32 bit signed integer | int32, s32 |
| uint | 32 bit unsigned integer | unsigned int, uint32, u32, DWORD |
| short | 16 bit signed integer | int16, s16, WORD |
| ushort | 16 bit unsigned integer | unsigned short, uint16, u16 |
| byte | 8 bit signed integer | int8, s8, BYTE |
| ubyte | 8 bit unsigned integer | unsigned byte, uint8, u8 |
| double | 64 bit floating point number | float64, f64 |
| float | 32 bit floating point number | float32, f32 |
| half | 16 bit floating point number | float16, f16 |
| float2 | 2 32 bit floats | FVector2D |
| float3 | 3 32 bit floats | FVector |
| float4 | 4 32 bit floats | FVector4 |
| float4x4 | 16 32 bit floats | FMatrix |
| char | 8 bit ASCII character | CHAR |
| wchar_t | 16 bit UNICODE character | WCHAR |
Any type containing a * will be interpreted as a pointer. There is no way to view what is being pointed to, and it will just display the address.
There is no support for variable length character encodings.
The type parser is very simple, and does not do much error checking. For example, it will ignore extra words on a line, and the square brackets for an array can be placed anywhere on a line.
I do not gather any information about how you use this page. If you use the Save button then everything will be saved on your local computer, and nothing will be uploaded to the server.