Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/
HDF5 Last Updated on 2026-03-02
The HDF5 Field Guide
Loading...
Searching...
No Matches
HDF5 Predefined Datatypes

Navigate back: Main / HDF5 Reference Manual


HDF5 Predefined Datatypes

The following datatypes are predefined in HDF5.

Predefined IEEE Floating Point Datatypes
DatatypeDescription
H5T_IEEE_F16BE16-bit big-endian IEEE floating point
H5T_IEEE_F16LE16-bit little-endian IEEE floating point
H5T_IEEE_F32BE32-bit big-endian IEEE floating point
H5T_IEEE_F32LE32-bit little-endian IEEE floating point
H5T_IEEE_F64BE64-bit big-endian IEEE floating point
H5T_IEEE_F64LE64-bit little-endian IEEE floating point
Predefined Alternative Floating Point Datatypes
DatatypeDescription
H5T_FLOAT_BFLOAT16BE16-bit big-endian bfloat16 floating point
H5T_FLOAT_BFLOAT16LE16-bit little-endian bfloat16 floating point
H5T_FLOAT_F8E4M38-bit FP8 E4M3 (4 exponent bits, 3 mantissa bits) floating point
H5T_FLOAT_F8E5M28-bit FP8 E5M2 (5 exponent bits, 2 mantissa bits) floating point
H5T_FLOAT_F6E2M36-bit FP6 E2M3 (2 exponent bits, 3 mantissa bits) floating point
H5T_FLOAT_F6E3M26-bit FP6 E3M2 (3 exponent bits, 2 mantissa bits) floating point
H5T_FLOAT_F4E2M14-bit FP4 E2M1 (2 exponent bits, 1 mantissa bit) floating point
Predefined Complex Number Datatypes
DatatypeDescription
H5T_COMPLEX_IEEE_F16BEComplex number of 2 16-bit big-endian IEEE floating point numbers
H5T_COMPLEX_IEEE_F16LEComplex number of 2 16-bit little-endian IEEE floating point numbers
H5T_COMPLEX_IEEE_F32BEComplex number of 2 32-bit big-endian IEEE floating point numbers
H5T_COMPLEX_IEEE_F32LEComplex number of 2 32-bit little-endian IEEE floating point numbers
H5T_COMPLEX_IEEE_F64BEComplex number of 2 64-bit big-endian IEEE floating point numbers
H5T_COMPLEX_IEEE_F64LEComplex number of 2 64-bit little-endian IEEE floating point numbers
Predefined Standard Datatypes
DatatypeDescription
H5T_STD_I8BE8-bit big-endian signed integer (2's complement)
H5T_STD_I8LE8-bit little-endian signed integer (2's complement)
H5T_STD_I16BE16-bit big-endian signed integer (2's complement)
H5T_STD_I16LE16-bit little-endian signed integer (2's complement)
H5T_STD_I32BE32-bit big-endian signed integer (2's complement)
H5T_STD_I32LE32-bit little-endian signed integer (2's complement)
H5T_STD_I64BE64-bit big-endian signed integer (2's complement)
H5T_STD_I64LE64-bit little-endian signed integer (2's complement)
H5T_STD_U8BE8-bit big-endian unsigned integer
H5T_STD_U8LE8-bit little-endian unsigned integer
H5T_STD_U16BE16-bit big-endian unsigned integer
H5T_STD_U16LE16-bit little-endian unsigned integer
H5T_STD_U32BE32-bit big-endian unsigned integer
H5T_STD_U32LE32-bit little-endian unsigned integer
H5T_STD_U64BE64-bit big-endian unsigned integer
H5T_STD_U64LE64-bit little-endian unsigned integer
H5T_STD_B8BE8-bit big-endian bitfield
H5T_STD_B8LE8-bit little-endian bitfield
H5T_STD_B16BE16-bit big-endian bitfield
H5T_STD_B16LE16-bit little-endian bitfield
H5T_STD_B32BE32-bit big-endian bitfield
H5T_STD_B32LE32-bit little-endian bitfield
H5T_STD_B64BE64-bit big-endian bitfield
H5T_STD_B64LE64-bit little-endian bitfield
H5T_STD_REF_OBJObject reference
H5T_STD_REF_DSETREGDataset region reference
H5T_STD_REFGeneric reference
Predefined UNIX-specific Datatypes
DatatypeDescription
H5T_UNIX_D32BE32-bit big-endian
H5T_UNIX_D32LE32-bit little-endian
H5T_UNIX_D64BE64-bit big-endian
H5T_UNIX_D64LE64-bit little-endian
Predefined String Datatypes
DatatypeDescription
H5T_C_S1String datatype in C (size defined in bytes rather than in bits)
H5T_FORTRAN_S1String datatype in Fortran (as defined for the HDF5 C library)
Predefined Intel-specific Datatypes
DatatypeDescription
H5T_INTEL_I88-bit little-endian signed integer (2's complement)
H5T_INTEL_I1616-bit little-endian signed integer (2's complement)
H5T_INTEL_I3232-bit little-endian signed integer (2's complement)
H5T_INTEL_I6464-bit little-endian signed integer (2's complement)
H5T_INTEL_U88-bit little-endian unsigned integer
H5T_INTEL_U1616-bit little-endian unsigned integer
H5T_INTEL_U3232-bit little-endian unsigned integer
H5T_INTEL_U6464-bit little-endian unsigned integer
H5T_INTEL_B88-bit little-endian bitfield
H5T_INTEL_B1616-bit little-endian bitfield
H5T_INTEL_B3232-bit little-endian bitfield
H5T_INTEL_B6464-bit little-endian bitfield
H5T_INTEL_F3232-bit little-endian IEEE floating point
H5T_INTEL_F6464-bit little-endian IEEE floating point
Predefined DEC Alpha-specific Datatypes
DatatypeDescription
H5T_ALPHA_I88-bit little-endian signed integer (2's complement)
H5T_ALPHA_I1616-bit little-endian signed integer (2's complement)
H5T_ALPHA_I3232-bit little-endian signed integer (2's complement)
H5T_ALPHA_I6464-bit little-endian signed integer (2's complement)
H5T_ALPHA_U88-bit little-endian unsigned integer
H5T_ALPHA_U1616-bit little-endian unsigned integer
H5T_ALPHA_U3232-bit little-endian unsigned integer
H5T_ALPHA_U6464-bit little-endian unsigned integer
H5T_ALPHA_B88-bit little-endian bitfield
H5T_ALPHA_B1616-bit little-endian bitfield
H5T_ALPHA_B3232-bit little-endian bitfield
H5T_ALPHA_B6464-bit little-endian bitfield
H5T_ALPHA_F3232-bit little-endian IEEE floating point
H5T_ALPHA_F6464-bit little-endian IEEE floating point
Predefined MIPS-specific Datatypes
DatatypeDescription
H5T_MIPS_I88-bit big-endian signed integer (2's complement)
H5T_MIPS_I1616-bit big-endian signed integer (2's complement)
H5T_MIPS_I3232-bit big-endian signed integer (2's complement)
H5T_MIPS_I6464-bit big-endian signed integer (2's complement)
H5T_MIPS_U88-bit big-endian unsigned integer
H5T_MIPS_U1616-bit big-endian unsigned integer
H5T_MIPS_U3232-bit big-endian unsigned integer
H5T_MIPS_U6464-bit big-endian unsigned integer
H5T_MIPS_B88-bit big-endian bitfield
H5T_MIPS_B1616-bit big-endian bitfield
H5T_MIPS_B3232-bit big-endian bitfield
H5T_MIPS_B6464-bit big-endian bitfield
H5T_MIPS_F3232-bit big-endian IEEE floating point
H5T_MIPS_F6464-bit big-endian IEEE floating point
Predefined Native Datatypes
DatatypeDescription
H5T_NATIVE_CHARC-style char
H5T_NATIVE_SCHARC-style signed char
H5T_NATIVE_UCHARC-style unsigned signed char
H5T_NATIVE_SHORTC-style short
H5T_NATIVE_USHORTC-style unsigned short
H5T_NATIVE_INTC-style int
H5T_NATIVE_UINTC-style unsigned int
H5T_NATIVE_LONGC-style long
H5T_NATIVE_ULONGC-style unsigned long
H5T_NATIVE_LLONGC-style long long
H5T_NATIVE_ULLONGC-style unsigned long long
H5T_NATIVE_FLOAT16C-style _Float16 (May be H5I_INVALID_HID if platform doesn't support _Float16 type)
H5T_NATIVE_FLOATC-style float
H5T_NATIVE_DOUBLEC-style double
H5T_NATIVE_LDOUBLEC-style long double
H5T_NATIVE_FLOAT_COMPLEXC-style float _Complex (MSVC _Fcomplex) (May be H5I_INVALID_HID if platform doesn't support float _Complex / _Fcomplex type)
H5T_NATIVE_DOUBLE_COMPLEXC-style double _Complex (MSVC _Dcomplex) (May be H5I_INVALID_HID if platform doesn't support double _Complex / _Dcomplex type)
H5T_NATIVE_LDOUBLE_COMPLEXC-style long double _Complex (MSVC _Lcomplex) (May be H5I_INVALID_HID if platform doesn't support long double _Complex / _Lcomplex type)
H5T_NATIVE_B88-bit bitfield based on native types
H5T_NATIVE_B1616-bit bitfield based on native types
H5T_NATIVE_B3232-bit bitfield based on native types
H5T_NATIVE_B6464-bit bitfield based on native types
H5T_NATIVE_OPAQUEopaque unit based on native types
H5T_NATIVE_HADDRaddress type based on native types
H5T_NATIVE_HSIZEsize type based on native types
H5T_NATIVE_HSSIZEsigned size type based on native types
H5T_NATIVE_HERRerror code type based on native types
H5T_NATIVE_HBOOLBoolean type based on native types
Predefined ANSI C9x-specific Native Integer Datatypes
DatatypeDescription
H5T_NATIVE_INT88-bit signed integer (2's complement)
H5T_NATIVE_UINT88-bit unsigned integer
H5T_NATIVE_INT_LEAST88-bit signed integer (2's complement) with storage to use least amount of space
H5T_NATIVE_UINT_LEAST88-bit unsigned integer with storage to use least amount of space
H5T_NATIVE_INT_FAST88-bit signed integer (2's complement) with storage to maximize performance
H5T_NATIVE_UINT_FAST88-bit unsigned integer with storage to maximize performance
H5T_NATIVE_INT1616-bit signed integer (2's complement)
H5T_NATIVE_UINT1616-bit unsigned integer
H5T_NATIVE_INT_LEAST1616-bit signed integer (2's complement) with storage to use least amount of space
H5T_NATIVE_UINT_LEAST1616-bit unsigned integer with storage to use least amount of space
H5T_NATIVE_INT_FAST1616-bit signed integer (2's complement) with storage to maximize performance
H5T_NATIVE_UINT_FAST1616-bit unsigned integer with storage to maximize performance
H5T_NATIVE_INT3232-bit signed integer (2's complement)
H5T_NATIVE_UINT3232-bit unsigned integer
H5T_NATIVE_INT_LEAST3232-bit signed integer (2's complement) with storage to use least amount of space
H5T_NATIVE_UINT_LEAST3232-bit unsigned integer with storage to use least amount of space
H5T_NATIVE_INT_FAST3232-bit signed integer (2's complement) with storage to maximize performance
H5T_NATIVE_UINT_FAST3232-bit unsigned integer with storage to maximize performance
H5T_NATIVE_INT6464-bit signed integer (2's complement)
H5T_NATIVE_UINT6464-bit unsigned integer
H5T_NATIVE_INT_LEAST6464-bit signed integer (2's complement) with storage to use least amount of space
H5T_NATIVE_UINT_LEAST6464-bit unsigned integer with storage to use least amount of space
H5T_NATIVE_INT_FAST6464-bit signed integer (2's complement) with storage to maximize performance
H5T_NATIVE_UINT_FAST6464-bit unsigned integer with storage to maximize performance

Navigate back: Main / Specifications