Data Interpreter
Inspect packed binary records as exact values and synchronized channel plots.
About this tool
Open a binary file or try Example. Describe each packed record with name:type in Record layout; commas, semicolons or newlines separate fields. File actions, byte order and record limit remain available above both result views. A new file is interpreted immediately; later layout, byte-order or limit changes clear old output and recalculate after a short typing pause without changing the active result tab or moving focus. Interpret retries explicitly. Layouts use contiguous fields with no automatic C-struct padding, alignment, headers or variable-length data. The example contains four 32-byte records.
Types: int8/uint8, int16/uint16, int32/uint32, int64/uint64, float32/float64 and char. Append [N] for a fixed array. Numeric arrays expand into columns; char and char[N] decode ASCII up to the first NUL, replacing nonprinting/non-ASCII bytes with dots. Names must be unique; _i and __proto__ are reserved. Anonymous types receive field0, field1, etc. // starts a layout comment.
The table retains exact 64-bit integers, NaN, Infinity and negative zero; its search and sorting cover every parsed record, even when only 100 rows appear on a page. Plots use record indices, not timestamps or physical time. 64-bit integer channels are deliberately excluded from plots to avoid precision loss. Missing/nonfinite float values break lines. A single point remains visible. Ctrl/Meta plus wheel zooms every channel together; mouse drag pans and Reset zoom restores the range. Ordinary wheel and vertical touch gestures scroll the page. With focus on a plot, + and − zoom, ← and → pan, and Home resets the range.
Choose the correct byte order and record layout: any byte sequence can have multiple plausible interpretations. Limits: 64 MiB per file, 16,384 layout characters, 128 expanded columns, 1 MiB per record, 100,000 records and 500,000 parsed cells. The default interprets the first 4,096 complete records; a notice identifies omitted records or trailing incomplete bytes. Tables and plots share the same subset. Fixed ASCII areas are limited to 4 MiB across the parsed records.
Choose All channels or one numeric channel; a single channel uses the larger plot area. All plots share the same record range. The shared browser store retains only the layout text, byte order, raw limit and channel choice, including empty or invalid layout drafts up to 32,768 UTF-16 code units and limit drafts up to 64 characters. No decoded tables, plot paths or zoom are saved. The original binary buffer stays in memory during tool navigation until Clear or another file replaces it; a page reload or closing the browser requires reopening the file. This avoids copying files of up to 64 MiB into the settings store. A storage warning means settings may remain only in memory.