Some also use it as a container format holding packets of stream data. In a typical application, a compiler or assembler converts a program's source code (such as in C or assembly language) to machine code and outputs it into a HEX file. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic devices and hardware emulators. Intel hexadecimal object file format, Intel hex format or Intellec Hex is a file format that conveys binary information in ASCII text form.