Data

Type

Base

Pointer Size

Alignment

EndianLittleBigAutomatic

About

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.

How to Use

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.

Supported Types

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.

Known Issues

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.

Privacy Statement

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.