Private UF2 firmware workbench

UF2 Firmware Inspector & Binary Extractor

Open a UF2 image without uploading it. Validate every 512-byte block, review flags and family IDs, find missing or duplicate block numbers, map addressed flash regions, and extract a bounded flat binary only when the structure is safe to flatten.

Local input

Choose a UF2 image

No local file selected.

The input must contain complete 512-byte UF2 blocks. Inspection is limited to 16 MiB / 32,768 blocks and rejects silent truncation.

Choose a file or paste UF2 hex to begin.

Files, pasted bytes, decoded blocks, and extracted data stay in this browser. Nothing is uploaded or saved.

What this UF2 inspector validates

UF2 stores firmware in self-contained 512-byte blocks. Each block has three magic values, flags, a target address, payload length, sequence number, declared total, and an optional family ID or file size. This tool checks those fields, 32-bit bounds, block-number coverage, payload and address alignment, repeated addresses, unknown flags, extension-tag boundaries, and file-container bounds before mapping main-flash bytes.

Why physical order and block number are separate

UF2 was designed for mass-storage writes that may arrive out of order or more than once. The block number is therefore displayed separately from the block's physical position in the file. Repeated block numbers and repeated identical bytes are reported for review; conflicting bytes at the same target address are errors. Missing declared block numbers are errors because the image may be incomplete.

Binary extraction is deliberately strict

A flat binary cannot preserve UF2 family filtering, block metadata, sparse-address intent, auxiliary content, or container filenames. ToolQuill extracts only one valid main-flash map with at most one family ID. It fills address gaps with the byte you select and reports the base address; that base address must be configured separately in any downstream programmer.

Firmware safety boundary

This is a container inspection report, not a flashing recommendation. A structurally valid UF2 file may still target the wrong board, contain unsafe or malicious code, omit security metadata, or require a vendor-specific process. The tool does not authenticate publishers, verify secure boot or every optional MD5/SHA payload, disassemble code, identify a board from the family number, or prove that extracted data is bootable. Preserve the original and follow the board manufacturer's recovery instructions.

Frequently asked questions

Does a family ID identify my exact board?

No. It usually identifies an MCU family, not necessarily a specific board or product. This inspector shows the exact numeric value without guessing a board. Compare it with the current official UF2 family registry and your board documentation.

Why can a UF2 file contain duplicate blocks?

The format anticipates repeated mass-storage writes, and files for different family IDs may be concatenated. Duplicates are therefore findings rather than automatic corruption, but conflicting bytes at the same target address are errors.

What is a “not main flash” block?

It can carry comments, embedded source, or other auxiliary data. This tool lists it but excludes it from the main-flash memory map and flat binary.

Are MD5 and extension tags decoded?

Their metadata is surfaced where present, and extension-tag framing is checked. Cryptographic contents are not treated as an authenticity verdict and MD5 regions are not recomputed.

Format reference: Microsoft UF2 specification.

Compare decoded firmware maps · Inspect Motorola S-record firmware · Browse electronics tools