![]()  | 
  
    HDF5 Last Updated on 2025-11-04
    
   The HDF5 Field Guide 
   | 
 
Navigate back: Main / HDF5 Reference Manual
The following datatypes are predefined in HDF5.
| Datatype | Description | 
|---|---|
| H5T_IEEE_F16BE | 16-bit big-endian IEEE floating point | 
| H5T_IEEE_F16LE | 16-bit little-endian IEEE floating point | 
| H5T_IEEE_F32BE | 32-bit big-endian IEEE floating point | 
| H5T_IEEE_F32LE | 32-bit little-endian IEEE floating point | 
| H5T_IEEE_F64BE | 64-bit big-endian IEEE floating point | 
| H5T_IEEE_F64LE | 64-bit little-endian IEEE floating point | 
| Datatype | Description | 
|---|---|
| H5T_FLOAT_BFLOAT16BE | 16-bit big-endian bfloat16 floating point | 
| H5T_FLOAT_BFLOAT16LE | 16-bit little-endian bfloat16 floating point | 
| H5T_FLOAT_F8E4M3 | 8-bit FP8 E4M3 (4 exponent bits, 3 mantissa bits) floating point | 
| H5T_FLOAT_F8E5M2 | 8-bit FP8 E5M2 (5 exponent bits, 2 mantissa bits) floating point | 
| Datatype | Description | 
|---|---|
| H5T_COMPLEX_IEEE_F16BE | Complex number of 2 16-bit big-endian IEEE floating point numbers | 
| H5T_COMPLEX_IEEE_F16LE | Complex number of 2 16-bit little-endian IEEE floating point numbers | 
| H5T_COMPLEX_IEEE_F32BE | Complex number of 2 32-bit big-endian IEEE floating point numbers | 
| H5T_COMPLEX_IEEE_F32LE | Complex number of 2 32-bit little-endian IEEE floating point numbers | 
| H5T_COMPLEX_IEEE_F64BE | Complex number of 2 64-bit big-endian IEEE floating point numbers | 
| H5T_COMPLEX_IEEE_F64LE | Complex number of 2 64-bit little-endian IEEE floating point numbers | 
| Datatype | Description | 
|---|---|
| H5T_STD_I8BE | 8-bit big-endian signed integer (2's complement) | 
| H5T_STD_I8LE | 8-bit little-endian signed integer (2's complement) | 
| H5T_STD_I16BE | 16-bit big-endian signed integer (2's complement) | 
| H5T_STD_I16LE | 16-bit little-endian signed integer (2's complement) | 
| H5T_STD_I32BE | 32-bit big-endian signed integer (2's complement) | 
| H5T_STD_I32LE | 32-bit little-endian signed integer (2's complement) | 
| H5T_STD_I64BE | 64-bit big-endian signed integer (2's complement) | 
| H5T_STD_I64LE | 64-bit little-endian signed integer (2's complement) | 
| H5T_STD_U8BE | 8-bit big-endian unsigned integer | 
| H5T_STD_U8LE | 8-bit little-endian unsigned integer | 
| H5T_STD_U16BE | 16-bit big-endian unsigned integer | 
| H5T_STD_U16LE | 16-bit little-endian unsigned integer | 
| H5T_STD_U32BE | 32-bit big-endian unsigned integer | 
| H5T_STD_U32LE | 32-bit little-endian unsigned integer | 
| H5T_STD_U64BE | 64-bit big-endian unsigned integer | 
| H5T_STD_U64LE | 64-bit little-endian unsigned integer | 
| H5T_STD_B8BE | 8-bit big-endian bitfield | 
| H5T_STD_B8LE | 8-bit little-endian bitfield | 
| H5T_STD_B16BE | 16-bit big-endian bitfield | 
| H5T_STD_B16LE | 16-bit little-endian bitfield | 
| H5T_STD_B32BE | 32-bit big-endian bitfield | 
| H5T_STD_B32LE | 32-bit little-endian bitfield | 
| H5T_STD_B64BE | 64-bit big-endian bitfield | 
| H5T_STD_B64LE | 64-bit little-endian bitfield | 
| H5T_STD_REF_OBJ | Object reference | 
| H5T_STD_REF_DSETREG | Dataset region reference | 
| H5T_STD_REF | Generic reference | 
| Datatype | Description | 
|---|---|
| H5T_UNIX_D32BE | 32-bit big-endian | 
| H5T_UNIX_D32LE | 32-bit little-endian | 
| H5T_UNIX_D64BE | 64-bit big-endian | 
| H5T_UNIX_D64LE | 64-bit little-endian | 
| Datatype | Description | 
|---|---|
| H5T_C_S1 | String datatype in C (size defined in bytes rather than in bits) | 
| H5T_FORTRAN_S1 | String datatype in Fortran (as defined for the HDF5 C library) | 
| Datatype | Description | 
|---|---|
| H5T_INTEL_I8 | 8-bit little-endian signed integer (2's complement) | 
| H5T_INTEL_I16 | 16-bit little-endian signed integer (2's complement) | 
| H5T_INTEL_I32 | 32-bit little-endian signed integer (2's complement) | 
| H5T_INTEL_I64 | 64-bit little-endian signed integer (2's complement) | 
| H5T_INTEL_U8 | 8-bit little-endian unsigned integer | 
| H5T_INTEL_U16 | 16-bit little-endian unsigned integer | 
| H5T_INTEL_U32 | 32-bit little-endian unsigned integer | 
| H5T_INTEL_U64 | 64-bit little-endian unsigned integer | 
| H5T_INTEL_B8 | 8-bit little-endian bitfield | 
| H5T_INTEL_B16 | 16-bit little-endian bitfield | 
| H5T_INTEL_B32 | 32-bit little-endian bitfield | 
| H5T_INTEL_B64 | 64-bit little-endian bitfield | 
| H5T_INTEL_F32 | 32-bit little-endian IEEE floating point | 
| H5T_INTEL_F64 | 64-bit little-endian IEEE floating point | 
| Datatype | Description | 
|---|---|
| H5T_ALPHA_I8 | 8-bit little-endian signed integer (2's complement) | 
| H5T_ALPHA_I16 | 16-bit little-endian signed integer (2's complement) | 
| H5T_ALPHA_I32 | 32-bit little-endian signed integer (2's complement) | 
| H5T_ALPHA_I64 | 64-bit little-endian signed integer (2's complement) | 
| H5T_ALPHA_U8 | 8-bit little-endian unsigned integer | 
| H5T_ALPHA_U16 | 16-bit little-endian unsigned integer | 
| H5T_ALPHA_U32 | 32-bit little-endian unsigned integer | 
| H5T_ALPHA_U64 | 64-bit little-endian unsigned integer | 
| H5T_ALPHA_B8 | 8-bit little-endian bitfield | 
| H5T_ALPHA_B16 | 16-bit little-endian bitfield | 
| H5T_ALPHA_B32 | 32-bit little-endian bitfield | 
| H5T_ALPHA_B64 | 64-bit little-endian bitfield | 
| H5T_ALPHA_F32 | 32-bit little-endian IEEE floating point | 
| H5T_ALPHA_F64 | 64-bit little-endian IEEE floating point | 
| Datatype | Description | 
|---|---|
| H5T_MIPS_I8 | 8-bit big-endian signed integer (2's complement) | 
| H5T_MIPS_I16 | 16-bit big-endian signed integer (2's complement) | 
| H5T_MIPS_I32 | 32-bit big-endian signed integer (2's complement) | 
| H5T_MIPS_I64 | 64-bit big-endian signed integer (2's complement) | 
| H5T_MIPS_U8 | 8-bit big-endian unsigned integer | 
| H5T_MIPS_U16 | 16-bit big-endian unsigned integer | 
| H5T_MIPS_U32 | 32-bit big-endian unsigned integer | 
| H5T_MIPS_U64 | 64-bit big-endian unsigned integer | 
| H5T_MIPS_B8 | 8-bit big-endian bitfield | 
| H5T_MIPS_B16 | 16-bit big-endian bitfield | 
| H5T_MIPS_B32 | 32-bit big-endian bitfield | 
| H5T_MIPS_B64 | 64-bit big-endian bitfield | 
| H5T_MIPS_F32 | 32-bit big-endian IEEE floating point | 
| H5T_MIPS_F64 | 64-bit big-endian IEEE floating point | 
| Datatype | Description | 
|---|---|
| H5T_NATIVE_CHAR | C-style char | 
| H5T_NATIVE_SCHAR | C-style signed char | 
| H5T_NATIVE_UCHAR | C-style unsigned signed char | 
| H5T_NATIVE_SHORT | C-style short | 
| H5T_NATIVE_USHORT | C-style unsigned short | 
| H5T_NATIVE_INT | C-style int | 
| H5T_NATIVE_UINT | C-style unsigned int | 
| H5T_NATIVE_LONG | C-style long | 
| H5T_NATIVE_ULONG | C-style unsigned long | 
| H5T_NATIVE_LLONG | C-style long long | 
| H5T_NATIVE_ULLONG | C-style unsigned long long | 
| H5T_NATIVE_FLOAT16 | C-style _Float16 (May be H5I_INVALID_HID if platform doesn't support _Float16 type) | 
| H5T_NATIVE_FLOAT | C-style float | 
| H5T_NATIVE_DOUBLE | C-style double | 
| H5T_NATIVE_LDOUBLE | C-style long double | 
| H5T_NATIVE_FLOAT_COMPLEX | C-style float _Complex (MSVC _Fcomplex) (May be H5I_INVALID_HID if platform doesn't support float _Complex / _Fcomplex type) | 
| H5T_NATIVE_DOUBLE_COMPLEX | C-style double _Complex (MSVC _Dcomplex) (May be H5I_INVALID_HID if platform doesn't support double _Complex / _Dcomplex type) | 
| H5T_NATIVE_LDOUBLE_COMPLEX | C-style long double _Complex (MSVC _Lcomplex) (May be H5I_INVALID_HID if platform doesn't support long double _Complex / _Lcomplex type) | 
| H5T_NATIVE_B8 | 8-bit bitfield based on native types | 
| H5T_NATIVE_B16 | 16-bit bitfield based on native types | 
| H5T_NATIVE_B32 | 32-bit bitfield based on native types | 
| H5T_NATIVE_B64 | 64-bit bitfield based on native types | 
| H5T_NATIVE_OPAQUE | opaque unit based on native types | 
| H5T_NATIVE_HADDR | address type based on native types | 
| H5T_NATIVE_HSIZE | size type based on native types | 
| H5T_NATIVE_HSSIZE | signed size type based on native types | 
| H5T_NATIVE_HERR | error code type based on native types | 
| H5T_NATIVE_HBOOL | Boolean type based on native types | 
| Datatype | Description | 
|---|---|
| H5T_NATIVE_INT8 | 8-bit signed integer (2's complement) | 
| H5T_NATIVE_UINT8 | 8-bit unsigned integer | 
| H5T_NATIVE_INT_LEAST8 | 8-bit signed integer (2's complement) with storage to use least amount of space | 
| H5T_NATIVE_UINT_LEAST8 | 8-bit unsigned integer with storage to use least amount of space | 
| H5T_NATIVE_INT_FAST8 | 8-bit signed integer (2's complement) with storage to maximize performance | 
| H5T_NATIVE_UINT_FAST8 | 8-bit unsigned integer with storage to maximize performance | 
| H5T_NATIVE_INT16 | 16-bit signed integer (2's complement) | 
| H5T_NATIVE_UINT16 | 16-bit unsigned integer | 
| H5T_NATIVE_INT_LEAST16 | 16-bit signed integer (2's complement) with storage to use least amount of space | 
| H5T_NATIVE_UINT_LEAST16 | 16-bit unsigned integer with storage to use least amount of space | 
| H5T_NATIVE_INT_FAST16 | 16-bit signed integer (2's complement) with storage to maximize performance | 
| H5T_NATIVE_UINT_FAST16 | 16-bit unsigned integer with storage to maximize performance | 
| H5T_NATIVE_INT32 | 32-bit signed integer (2's complement) | 
| H5T_NATIVE_UINT32 | 32-bit unsigned integer | 
| H5T_NATIVE_INT_LEAST32 | 32-bit signed integer (2's complement) with storage to use least amount of space | 
| H5T_NATIVE_UINT_LEAST32 | 32-bit unsigned integer with storage to use least amount of space | 
| H5T_NATIVE_INT_FAST32 | 32-bit signed integer (2's complement) with storage to maximize performance | 
| H5T_NATIVE_UINT_FAST32 | 32-bit unsigned integer with storage to maximize performance | 
| H5T_NATIVE_INT64 | 64-bit signed integer (2's complement) | 
| H5T_NATIVE_UINT64 | 64-bit unsigned integer | 
| H5T_NATIVE_INT_LEAST64 | 64-bit signed integer (2's complement) with storage to use least amount of space | 
| H5T_NATIVE_UINT_LEAST64 | 64-bit unsigned integer with storage to use least amount of space | 
| H5T_NATIVE_INT_FAST64 | 64-bit signed integer (2's complement) with storage to maximize performance | 
| H5T_NATIVE_UINT_FAST64 | 64-bit unsigned integer with storage to maximize performance | 
Navigate back: Main / Specifications