Firmware Tools
Parser and generator for Intel HEX and Motorola S-record formats. Parse firmware files, validate checksums, and generate Intel HEX from raw hex bytes.
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.type, addr, len, and checksum status, plus a hex dump of its data bytes.Format, Records, Data Bytes, Start Address, and Checksums at a glance.Generate tab to go the other way: paste space- or comma-separated hex bytes and it emits valid Intel HEX records.Copy Output to copy the parsed summary or generated HEX to your clipboard.Clear to reset the input and start over.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.
Each record's checksum is recomputed and marked OK or FAIL, so you can catch corrupt or truncated files before they brick a device.
Auto-detects Intel HEX (:) and Motorola S-record (S) in a single paste, so you don't need separate tools for each format.
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.
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.
Parsing and generation run entirely in your browser. Firmware data never leaves your machine — safe for proprietary or in-development builds.
Intel HEX (records starting with :) and Motorola S-record (records starting with S). It auto-detects the format from the first non-empty line.
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.
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.
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.
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.
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.
No. Parsing and generation run entirely in JavaScript in your browser. Your input is never sent to, stored on, or logged by any server.