Intel HEX to BIN Converter

Paste Intel HEX data or load a local .hex file to validate records, rebuild the binary image, and download a .bin file fully in your browser.

How to Use

  1. Paste Intel HEX text or load a local .hex file.
  2. Choose a fill byte for any unused gaps in the output image.
  3. Click Convert to BIN to validate and build the binary output.
  4. Review record stats, memory range, and validation results.
  5. Download the generated .bin file if conversion succeeds.
Source Input
Intel HEX text stays local. Nothing is uploaded to the server.
Records
Data Bytes
Image Size
Status
Idle
Supports pasted Intel HEX text and local file loading. Parsing, validation, and conversion are handled in-browser.
Used for sparse address regions when building the BIN image. Common values: FF or 00.
The JS file will normalize the name and use it for the download action.

Validation Summary

Waiting for input
Data records
EOF records
Extended segment
Extended linear
Start records
Warnings
Errors

Memory Map Preview

A compact visual summary of the rebuilt address space and gaps.

Lowest:
Highest:
Contiguous blocks:
Show Details

Record Parsing Notes

No parsed record details yet.

Warnings / Errors

No warnings or errors yet.
Validation details are shown for transparency. The JS will report malformed lines, checksum mismatches, unsupported records, gaps, and output image bounds.

Binary Preview

A short hex preview of the rebuilt BIN output for quick inspection.

No binary output generated yet.

Intel HEX Record Format

Quick answer: Each Intel HEX line starts with a colon and contains byte count, address, record type, data, and checksum.

:llaaaatt[dd...]cc
  • ll = data length in bytes
  • aaaa = 16-bit address field
  • tt = record type
  • dd = record data bytes
  • cc = checksum
Type Name Meaning
00 Data Contains payload bytes for the output image
01 End Of File Marks the logical end of the HEX stream
02 Extended Segment Address Sets the segment base for following data records
03 Start Segment Address Provides CS:IP style start information
04 Extended Linear Address Sets upper 16 address bits for following data records
05 Start Linear Address Provides linear execution start address

FAQ

Does this upload my firmware to the server?

No. The converter is designed to run fully in the browser. Pasted text and local file contents are processed client-side only.

What happens if there are address gaps?

Gaps are filled using the selected fill byte, typically FF or 00. Optional trimming can remove empty leading or trailing ranges.

Will bad checksums stop conversion?

That depends on the strict validation setting. In strict mode, checksum failures should block output. In non-strict mode, the JS can warn while still showing partial analysis.

Can this handle extended addressing?

Yes, the planned parser supports extended segment and extended linear address records so higher memory regions can be rebuilt correctly.

Tool Info

Last updated:

This page is designed for fast browser-based conversion, transparent validation, and deterministic output generation without server-side uploads.