Strings extractor.
Open BIN or HEX. Set conditions. Find readable strings.
01Input
BIN, Intel HEX, executable, memory dump, or any file.
Open HEX file converts Intel HEX to BIN before scanning. Choose file reads raw bytes of any file. Dropped .hex files are converted automatically.
One file · input and converted BIN up to 32 MiB · processed locally
02Conditions
LIVE / FILTERChoose any offset to look for unaligned wide strings. Each alignment is scanned separately.
Decimal or 0x HEX. Start is included; end is excluded.
Leave blank to show every matching string.
Changing a condition updates the results automatically. Length counts characters in the selected encoding.
Finding strings in firmware
The default finds printable ASCII runs of at least four characters, like strings -a -n 4. It scans raw file bytes, including executable headers and data.
Open HEX file validates Intel HEX records and converts their data to a flat BIN before scanning. The BIN starts at the lowest data address and fills address gaps with FF. For converted files, byte ranges, result offsets, and the preview use offsets in that BIN; add the base address shown in the file details to get the original HEX address.
Each result is a complete printable run. Length and text conditions filter that run; a maximum length excludes longer strings instead of cutting them into pieces. A selected byte range can cut a run at its boundaries.
UTF-8 and UTF-16 accept valid Unicode characters. Controls, format characters, and malformed encoding split strings; the tab and line-break options allow those whitespace characters. Offsets are absolute file byte offsets. Character counts use Unicode code points.
Up to 50,000 matches and 8 MiB of matching UTF-8 text can be retained. Narrow the conditions if those limits are reached. Copy/download include every match; pages contain 100 rows. Long strings can be expanded.
See the GNU strings manual ↗ for the command-line utility.