Firmware Tools

IntelHEX

Parser and generator for Intel HEX and Motorola S-record formats. Parse firmware files, validate checksums, and generate Intel HEX from raw hex bytes.

0 lines
PARSED OUTPUT
Format
0
Records
0
Data Bytes
Start Address
Checksums

How to use this tool

  1. With the Parse tab active, paste Intel HEX (lines starting with :) or Motorola S-record (lines starting with S) into the input box — the format is auto-detected from the first line.
  2. Read the parsed output: each record is broken out with its type, addr, len, and checksum status, plus a hex dump of its data bytes.
  3. Check the stats row for Format, Records, Data Bytes, Start Address, and Checksums at a glance.
  4. Switch to the Generate tab to go the other way: paste space- or comma-separated hex bytes and it emits valid Intel HEX records.
  5. Hit Copy Output to copy the parsed summary or generated HEX to your clipboard.
  6. Use Clear to reset the input and start over.

Why this tool is helpful

Parse firmware images

Read the Intel HEX or S-record files your build chain produces (avr-objcopy, sdcc, binutils) and inspect every record, address, and byte without a hex editor.

Validate checksums before flashing

Each record's checksum is recomputed and marked OK or FAIL, so you can catch corrupt or truncated files before they brick a device.

Handle both common standards

Auto-detects Intel HEX (:) and Motorola S-record (S) in a single paste, so you don't need separate tools for each format.

Generate Intel HEX from raw bytes

Turn a raw byte stream into valid Intel HEX with 16-byte data records, extended linear address records past 64 KB, and an EOF record.

Find the entry point

The Start Address stat surfaces the start-address record (Intel HEX type 05, or S-record S7/S8/S9), so you know where execution begins.

Stay private

Parsing and generation run entirely in your browser. Firmware data never leaves your machine — safe for proprietary or in-development builds.

FAQ

What formats does this tool support?

Intel HEX (records starting with :) and Motorola S-record (records starting with S). It auto-detects the format from the first non-empty line.

How are checksums verified?

Intel HEX uses a two's-complement checksum (all record bytes plus the checksum sum to zero), while S-record uses a one's-complement checksum. The parser recomputes each record and flags it OK or FAIL.

What do the record types mean?

Intel HEX type 00 is data, 01 is end-of-file, 02/04 are extended address records, and 03/05 are start-address records. S-record uses S0 header, S1/S2/S3 data, S5/S6 counts, and S7/S8/S9 start addresses.

How do I generate Intel HEX from bytes?

Switch to the Generate tab and paste hex bytes like 21 46 01 36. The tool emits 16-byte data records, extended linear address records for files over 64 KB, and a final :00000001FF EOF record.

Why does Start Address show "—"?

The start address comes from start-address records (Intel HEX type 05, or S-record S7/S8/S9). Many firmware files omit them, in which case the stat stays blank.

Can it convert S-record to Intel HEX?

It parses both formats but does not convert between them directly. To produce Intel HEX from an S-record, use the Generate tab with the raw data bytes instead.

Does my firmware data leave my browser?

No. Parsing and generation run entirely in JavaScript in your browser. Your input is never sent to, stored on, or logged by any server.