Endianness (Byte Order) Converter
Convert byte order between big-endian, little-endian and middle-endian (PDP-11) across 16/32/64-bit words. Each ordering is decoded simultaneously as signed / unsigned integer and IEEE 754 float32 / float64, with batch byte-array splitting, per-byte visualization with endianness role labels, and shareable URLs. 100% client-side and offline, BigInt-correct at 64-bit.
About Endianness (Byte Order) Converter
Convert byte order between big-endian, little-endian and middle-endian (PDP-11) across 16/32/64-bit words. Each ordering is decoded simultaneously as signed / unsigned integer and IEEE 754 float32 / float64, with batch byte-array splitting, per-byte visualization with endianness role labels, and shareable URLs. 100% client-side and offline, BigInt-correct at 64-bit. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What is endianness and why does byte order matter?
Endianness is the order in which multi-byte values are stored in memory. Big-endian (BE) stores the most significant byte first (lowest address); little-endian (LE) stores the least significant byte first. Network protocols (TCP/IP) use BE, while x86/ARM CPUs mostly use LE. When binary data crosses an endianness boundary you must swap the bytes or you will read a completely different value — e.g. bytes 0A 0B 0C 0D represent 168,496,141 as BE but 218,893,066 as LE.
What is middle-endian (PDP-11) byte order?
PDP-11 middle-endian is a historical 32-bit format used by the PDP-11 minicomputer: the value is split into two 16-bit words stored high-word-first, but each 16-bit word is internally little-endian. So 0x0A0B0C0D is stored as bytes 0B 0A 0D 0C (rather than 0A 0B 0C 0D for BE or 0D 0C 0B 0A for LE). This tool is one of the few that handles PDP-11 alongside BE and LE for 16/32/64-bit words.
How are integers and floats decoded for each byte order?
For each of the three orderings (BE, LE, PDP) the tool decodes the same bytes four ways: unsigned integer, signed integer (two's-complement at the chosen width), IEEE 754 float32 (4-byte words), and IEEE 754 float64 (8-byte words). All integer arithmetic uses BigInt so 64-bit values are exact — no JavaScript Number precision loss. Float decoding uses DataView so NaN, Infinity and denormals all round-trip correctly.
What happens if my input length doesn't match the word size?
If your input has fewer bytes than the word size, the tool left-pads with zero bytes (the high-order side) and warns you. If your input has more bytes than the word size, the tool truncates to the low-order bytes and warns. For batch conversion (splitting a long byte array into words), the final partial word is zero-padded so every word decodes cleanly. Empty input returns an explicit error rather than a silent zero.
What extra features does this tool have versus other endianness converters?
(1) Three byte orders in one view: BE, LE and PDP-11 middle-endian. (2) 16/32/64-bit word sizes, BigInt-correct. (3) Simultaneous signed/unsigned integer + float32 + float64 decoding per ordering. (4) Mixed hex input formats — accepts 0x prefix, space/colon/dash/underscore/comma separators, lowercase/uppercase. (5) Batch conversion splits a byte array into multiple words. (6) Per-byte visualization showing each byte's role in BE/LE/PDP (B0=LSB … B3=MSB). (7) C array export for use in code. (8) NaN/Infinity/denormal float support. (9) Non-aligned input handling with clear warnings. (10) History (localStorage, last 20). (11) Shareable URL with input + word size. (12) Copy buttons for every output. 100% client-side and offline — your bytes never leave the device.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.