Memory Explorer
Inspect files, hex bytes or UTF-8 text with stable byte selection and exact integer/float decoding in both byte orders.
About this tool
Open/drop a file, or expand Text / Hex input, choose its encoding and Load. The optional editor uses the available width. Loading remains explicit for large drafts; editing removes stale bytes immediately. This inspects a local byte buffer, not your computer’s process memory. No upload or byte editing. Clear removes the byte source and its text while keeping search options. Example restores the sample: UTF-8 enti.to at offset 0, float32 π at 8, negative float32 zero at 12, uint64 maximum at 16 and UTF-8 Grüße 🌍 at 24.
Hex uses the existing strict byte parser: complete pairs, optional 0x per token, whitespace/comma/semicolon/colon/underscore separators. Invalid characters and odd tokens are rejected, never removed. Remove addresses and ASCII columns from dumps first; valid hex-looking addresses cannot be detected automatically. UTF-8 input uses TextEncoder (isolated surrogates become replacement characters).
Select a hex byte or use arrows, Home/End and Page Up/Down in the viewer. Only selection changes the decoder; hovering does not. Offsets accept decimal or 0x and must be inside the buffer. Each page contains up to 1024 bytes in 8- or 16-byte rows. Previous/Next changes page and selects its first byte. Page controls are hidden when unnecessary. Both the hex view and value table scroll locally on narrow screens.
All types read at the selected offset, including unaligned positions, in explicit little- and big-endian columns. 64-bit integers remain exact. Missing bytes show —; NaN, Infinity and negative zero remain distinct. uint8/int8 do not depend on byte order. These are raw interpretations, not automatically detected file fields or C struct padding.
Search explicitly chooses hex bytes or UTF-8, so text such as AB is never guessed to mean hex. Find next starts after the selected byte and wraps to the start, including the current match only after wrapping. Overlapping matches are supported; matches do not cross the file boundary. Search is linear, runs in bounded slices and is cancelled by a changed query, navigation or new source. Selecting/loading a newer source takes precedence over pending reads.
The optional next-32-byte UTF-8 preview is bounded, does not stop at NUL and escapes backslashes and control/format characters. Invalid or truncated sequences show replacement characters. The ASCII preview prints bytes 32–126 and dots otherwise; it is not Unicode decoding. In narrower views each character sits below its byte; wide views keep a column at the right.
Limits: files 64 MiB; hex input 64 KiB / 524288 source characters; UTF-8 input 65536 characters; search pattern 4096 encoded bytes. All computation stays in the browser.
Only raw source/query text, both encodings, bytes per row and selected source kind use the shared browser store. Empty and invalid drafts are kept: source up to 524288 characters, query up to 32768, with bounded lossless compression for large drafts. Existing processing limits remain. Decoded values, file contents, selected byte, page and opened previews are not saved. Reload opens a text draft for explicit Load, or asks to reopen a file. The original file stays in RAM across tool-tab navigation until Clear, replacement or text editing; a full reload releases it. A storage warning means drafts may remain only in memory.