Skip to content
Tech News
← Back to articles

Your hex editor should color-code bytes

read original get HxD Hex Editor → more articles
Why This Matters

Color-coding bytes in hex editors enhances data readability by allowing users to quickly identify patterns, anomalies, and important segments within binary data. This visual aid is crucial for developers, cybersecurity professionals, and digital forensics experts who analyze complex data structures, making their work more efficient and less error-prone.

Key Takeaways

your hex editor should color-code bytes alice pellerin • 2026-03-31

too often, i see hex editors that look like this:

00000000 00 00 02 00 28 00 00 00 88 15 00 00 C4 01 00 00 ⋄ ⋄ • ⋄ ( ⋄ ⋄ ⋄ ו ⋄ ⋄ ו ⋄ ⋄ 00000010 14 00 00 00 03 00 00 00 00 01 00 00 03 00 00 00 • ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ • ⋄ ⋄ • ⋄ ⋄ ⋄ 00000020 3C 00 00 00 C4 0A 00 00 50 00 00 00 18 00 00 00 < ⋄ ⋄ ⋄ ×⏎ ⋄ ⋄ P ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000030 14 00 00 10 00 00 00 00 18 00 00 20 00 00 00 00 • ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ 00000040 20 00 00 30 00 00 00 00 51 00 00 00 48 00 00 00 ⋄ ⋄ 0 ⋄ ⋄ ⋄ ⋄ Q ⋄ ⋄ ⋄ H ⋄ ⋄ ⋄ 00000050 10 00 00 80 00 00 00 00 00 00 00 A0 00 00 00 00 • ⋄ ⋄ × ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ ⋄ 00000060 01 00 00 A0 01 00 00 00 02 00 00 A0 02 00 00 00 • ⋄ ⋄ ו ⋄ ⋄ ⋄ • ⋄ ⋄ ו ⋄ ⋄ ⋄ 00000070 03 00 00 A0 03 00 00 00 04 00 00 A0 04 00 00 00 • ⋄ ⋄ ו ⋄ ⋄ ⋄ • ⋄ ⋄ ו ⋄ ⋄ ⋄ 00000080 05 00 00 A0 05 00 00 00 06 00 00 A0 06 00 00 00 • ⋄ ⋄ ו ⋄ ⋄ ⋄ • ⋄ ⋄ ו ⋄ ⋄ ⋄ 00000090 20 00 00 30 00 00 00 00 53 00 00 00 00 DE 00 00 ⋄ ⋄ 0 ⋄ ⋄ ⋄ ⋄ S ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ 000000a0 5D FA 01 44 E1 3A 9A 0F 52 00 00 00 FC 14 00 00 ]וD×:וR ⋄ ⋄ ⋄ ו ⋄ ⋄ 000000b0 1B 20 2A 2B 00 80 00 00 00 80 00 00 00 80 00 00 • *+ ⋄ × ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ × ⋄ ⋄ 000000c0 FF 7F 00 00 00 00 33 52 00 00 00 00 29 10 15 10 ╳• ⋄ ⋄ ⋄ ⋄ 3R ⋄ ⋄ ⋄ ⋄ )••• 000000d0 80 00 1F 00 03 00 00 00 02 00 00 00 40 14 22 23 × ⋄ • ⋄ • ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ @•"# 000000e0 03 00 00 00 06 00 00 00 23 00 9D 05 6B FA C0 05 • ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ # ⋄ וk×ו 000000f0 C8 03 00 00 14 22 23 14 05 00 00 00 2E 00 9E 06 ו ⋄ ⋄ •"#•• ⋄ ⋄ ⋄ . ⋄ ו

every time i do, i feel bad for the poor person having to use it (especially if that person is me!). a plain list of bytes makes it hard to notice interesting things in the data. go ahead, try to find the single C0 in these bytes:

00000000 15 29 21 25 03 2F 2E 2B 15 11 24 3F 10 14 3B 13 •)!%•/.+••$?••;• 00000001 32 25 09 01 10 02 01 23 26 1E 25 2D 24 2F 23 3E 2%␣••••#&•%-$/#> 00000002 05 0F 33 2D 18 29 3E 1E 16 3B 29 0D 24 0B 3E 38 ••3-•)>••;)␍$•>8 00000003 33 3C 1E 2C 28 31 C0 1D 11 32 14 05 10 17 3F 01 3<•,(1ו•2••••?• 00000004 1E 32 0A 14 2B 2F 0B 14 3E 27 39 0A 17 23 1B 39 •2⏎•+/••>'9⏎•#•9 00000005 18 0B 3B 13 25 14 2C 3B 33 3C 19 10 21 0F 2C 34 ••;•%•,;3<••!•,4 00000006 2F 0C 1D 2C 2E 22 11 28 0D 0A 1F 37 27 39 35 21 /••,."•(␍⏎•7'95! 00000007 23 39 21 2B 37 23 28 16 30 28 02 04 25 22 37 1F #9!+7#(•0(••%"7• 00000008 36 2F 2D 25 12 25 01 31 3B 39 2D 35 26 37 30 2A 6/-%•%•1;9-5&70* 00000009 06 0D 11 1F 25 0A 1E 29 15 0B 0A 2A 2E 2C 21 16 •␍••%⏎•)••⏎*.,!• 0000000a 1D 37 0F 16 12 03 2C 02 0B 22 24 11 1A 3B 0D 0B •7••••,••"$••;␍• 0000000b 0D 13 30 2D 3B 15 05 15 32 19 20 30 3C 0E 3D 0B ␍•0-;•••2• 0<•=• 0000000c 17 24 22 3E 1E 22 18 0D 21 06 29 38 3E 20 3B 12 •$">•"•␍!•)8> ;• 0000000d 06 1F 19 17 29 35 1E 3B 1E 01 31 08 13 0C 27 20 ••••)5•;••1•••' 0000000e 08 24 2E 32 16 06 1F 3D 35 35 19 16 02 07 31 13 •$.2•••=55••••1• 0000000f 31 33 30 36 14 32 07 05 05 34 19 0B 18 16 12 3C 1306•2•••4•••••<

compare that to one with colors:

00000000 37 2D 08 13 0D 0B 18 1D 02 1A 2D 12 2A 0D 0F 27 7- • • ␍ • • • • • - • *␍ • ' 00000001 04 2A 25 32 0F 17 32 11 2F 2A 2A 0A 0A 16 04 1D • *%2 • • 2 • /**⏎⏎ • • • 00000002 32 13 09 01 2B 26 1A 30 3D 26 13 39 09 0D 38 3E 2 • ␣ • +& • 0=& • 9␣␍8> 00000003 0A 0D 1D 0B 36 30 02 36 0E 0B 2F 09 26 1E 33 03 ⏎␍ • • 60 • 6 • • /␣& • 3 • 00000004 3C 3C 08 0A 1E 36 12 11 1B 17 05 09 0B 37 0C 0E << • ⏎ • 6 • • • • • ␣ • 7 • • 00000005 31 05 09 17 2D 1D 05 16 25 03 3E 0A 1A 01 0C 2B 1 • ␣ • - • • • % • >⏎ • • • + 00000006 13 37 17 14 37 03 18 34 2D 03 30 11 2B 19 04 0B • 7 • • 7 • • 4- • 0 • + • • • 00000007 04 2A 18 26 21 25 3F 23 1D 0F 2F 2B 35 0C 09 37 • * • &!%?# • • /+5 • ␣7 00000008 25 33 19 1C 12 1E 2E 38 3A 3A 3C 28 39 0A 30 23 %3 • • • • .8::<(9⏎0# 00000009 21 08 09 24 0B 0E 13 26 04 30 06 20 10 18 15 3C ! • ␣$ • • • & • 0 • • • • < 0000000a 10 3C 30 34 28 28 1D 31 22 23 22 38 0E 12 25 15 • <04(( • 1"#"8 • • % • 0000000b 3B 1F 30 0D 26 0E 15 32 1C 2B 12 1A 32 1C 02 07 ; • 0␍& • • 2 • + • • 2 • • • 0000000c 35 2E 06 13 1F 33 3D 16 05 1C 2A 0F 34 34 21 26 5. • • • 3= • • • * • 44!& 0000000d 0C 17 3D 02 27 39 21 17 3F 07 1A 2F 38 0D 2D 1E • • = • '9! • ? • • /8␍- • 0000000e 32 0C C0 14 0E 20 25 0E 2E 2D 0D 21 27 13 2C 07 2 • × • • % • .-␍!' • , • 0000000f 14 0A 20 31 15 13 2C 3B 0F 12 1A 2D 0C 11 32 11 • ⏎ 1 • • ,; • • • - • • 2 •

it’s much easier to pick out the unique byte when it’s a different color! human brains are really good at spotting visual patterns—given the right format

here are a few more examples:

example 1 no color 00000000 4B 50 53 00 0A 00 00 00 0C 00 00 00 01 00 00 00 KPS ⋄ ⏎ ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000010 00 00 00 00 B4 00 00 00 46 00 00 00 64 00 00 00 ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ F ⋄ ⋄ ⋄ d ⋄ ⋄ ⋄ 00000020 46 00 00 00 02 00 00 00 00 00 00 00 DC 00 00 00 F ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000030 50 00 00 00 A0 00 00 00 50 00 00 00 03 00 00 00 P ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ P ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000040 00 00 00 00 FA 00 00 00 5A 00 00 00 B4 00 00 00 ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ Z ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000050 5A 00 00 00 04 00 00 00 00 00 00 00 18 01 00 00 Z ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ •• ⋄ ⋄ 00000060 64 00 00 00 C8 00 00 00 64 00 00 00 05 00 00 00 d ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ d ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000070 00 00 00 00 4A 01 00 00 78 00 00 00 F0 00 00 00 ⋄ ⋄ ⋄ ⋄ J• ⋄ ⋄ x ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000080 78 00 00 00 06 00 00 00 00 00 00 00 90 01 00 00 x ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ו ⋄ ⋄ 00000090 8C 00 00 00 18 01 00 00 8C 00 00 00 07 00 00 00 × ⋄ ⋄ ⋄ •• ⋄ ⋄ × ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 000000a0 00 00 00 00 F4 01 00 00 B4 00 00 00 68 01 00 00 ⋄ ⋄ ⋄ ⋄ ו ⋄ ⋄ × ⋄ ⋄ ⋄ h• ⋄ ⋄ 000000b0 B4 00 00 00 08 00 00 00 00 00 00 00 58 02 00 00 × ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ X• ⋄ ⋄ 000000c0 DC 00 00 00 B8 01 00 00 DC 00 00 00 09 00 00 00 × ⋄ ⋄ ⋄ ו ⋄ ⋄ × ⋄ ⋄ ⋄ ␣ ⋄ ⋄ ⋄ 000000d0 E7 03 00 00 E7 03 00 00 00 00 00 00 E7 03 00 00 ו ⋄ ⋄ ו ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ו ⋄ ⋄ 000000e0 E7 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ו ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ 000000f0 00 00 00 00 00 00 00 00 00 00 00 00 ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ color 00000000 4B 50 53 00 0A 00 00 00 0C 00 00 00 01 00 00 00 KPS ⋄ ⏎ ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000010 00 00 00 00 B4 00 00 00 46 00 00 00 64 00 00 00 ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ F ⋄ ⋄ ⋄ d ⋄ ⋄ ⋄ 00000020 46 00 00 00 02 00 00 00 00 00 00 00 DC 00 00 00 F ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000030 50 00 00 00 A0 00 00 00 50 00 00 00 03 00 00 00 P ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ P ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000040 00 00 00 00 FA 00 00 00 5A 00 00 00 B4 00 00 00 ⋄ ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ Z ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000050 5A 00 00 00 04 00 00 00 00 00 00 00 18 01 00 00 Z ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ • • ⋄ ⋄ 00000060 64 00 00 00 C8 00 00 00 64 00 00 00 05 00 00 00 d ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ d ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 00000070 00 00 00 00 4A 01 00 00 78 00 00 00 F0 00 00 00 ⋄ ⋄ ⋄ ⋄ J • ⋄ ⋄ x ⋄ ⋄ ⋄ × ⋄ ⋄ ⋄ 00000080 78 00 00 00 06 00 00 00 00 00 00 00 90 01 00 00 x ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ × • ⋄ ⋄ 00000090 8C 00 00 00 18 01 00 00 8C 00 00 00 07 00 00 00 × ⋄ ⋄ ⋄ • • ⋄ ⋄ × ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ 000000a0 00 00 00 00 F4 01 00 00 B4 00 00 00 68 01 00 00 ⋄ ⋄ ⋄ ⋄ × • ⋄ ⋄ × ⋄ ⋄ ⋄ h • ⋄ ⋄ 000000b0 B4 00 00 00 08 00 00 00 00 00 00 00 58 02 00 00 × ⋄ ⋄ ⋄ • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ X • ⋄ ⋄ 000000c0 DC 00 00 00 B8 01 00 00 DC 00 00 00 09 00 00 00 × ⋄ ⋄ ⋄ × • ⋄ ⋄ × ⋄ ⋄ ⋄ ␣ ⋄ ⋄ ⋄ 000000d0 E7 03 00 00 E7 03 00 00 00 00 00 00 E7 03 00 00 × • ⋄ ⋄ × • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ × • ⋄ ⋄ 000000e0 E7 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 × • ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ 000000f0 00 00 00 00 00 00 00 00 00 00 00 00 ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ this file starts with the magic bytes KPS , then a bunch of (little-endian) 32-bit integers that range from 0 to 999 ( 0x3E7 ). the colors make it quick to recognize that every 32-bit integer is relatively small, as the two high bytes are always 00 00 . if you look closely, you may notice other patterns, like the numbers counting up every 0x18 bytes starting at 0xC if you're curious about this particular file format, the code that parses it is pretty simple, even if you're not a programmer. there's even a wiki page for the data it represents, if you're into Fossil Fighters

... continue reading