Basic Editing:

  • Cut, Copy, Paste, Insert, Fill and Delete Hex
  • ASCII, DOS, EBCDIC, Macintosh, Window, Unicode or custom character set filters
  • Multilevel Undo and Redo
  • Drag and Drop files onto Hex Workshop for quick editing
  • Highlight hex and text sequences using Color Maps
  • View modified bytes in user defined colors
  • Select by offset/length or Select All
  • Paste Special (any format on the clipboard)
  • Insert File a file or replace selection with the contexts of a file
  • Save a selection as a new file
  • Select "Hex Edit" from Windows Right-Click Context Menu to view and edit files
  • Context sensitive help
  • View character distributions of a document or selection
  • Copy document or selection as: C Source Array, Java Source Array, Hex String, HTML, RTF, Text, Base64 or UUEncoding
  • View offsets and lengths in hex or decimal
  • Integration with 3rd party applications
  • User customizable keyboard shortcut key sequences for common operations

Sector Editing:

  • Sector edit partitions or physical disks
  • Copy sectors between disks and partitions
  • Save Sector range to a file
  • Restore Sector range from a file

Highly Customizable User Interface:

  • Hex values can be grouped by 1, 2, 4, 8 or 16 bytes
  • Specify the bytes per line (1-128) or let Hex Workshop fit to window size
  • User-definable font and character mapping
  • Specify significant digits for floating point/double presentation
  • Enable/Disable warnings and notification messages
  • Workbook mode allows ability to switch between open documents quickly
  • User-definable colors for the offset area, odd hex columns, even hex column, separators and text area
  • Integrated color and border rectangle tagging for integration tools: Structure Viewer, Bookmarks, Data Inspector, Compare Results, Find Results and Color Maps


  • Search using Hex Strings (including wildcards)
  • Search using Text Strings (ASCII, Unicode or either; match or ignore case)
  • Search using Bitmasks
  • Search using 8 bit, 16 bit, 32 bit or 64 bit signed/unsigned values (Big Endian,Little Endian or either)
  • Search using floating point values (Big Endian, Little Endian or either)
  • Search using double precision floating point values (Big Endian, Little Endian oreither)
  • Find All instances or instance by instance
  • Search from top down or bottom up
  • Find all strings within a document (ASCII, Uncode or Either)
  • Find next or previous matching selection
  • Find next or previous not matching selection
  • Find across entire document, selection, or manually entered range
  • Apply bookmarks or structures based on Find Results


  • Find and replace by Hex Strings, Text, Strings or values
  • Pad text strings with nulls if the replacement string is shorter than the originalstring
  • Replace All instances or instance by instance
  • Replace from top down or bottom up
  • Replace across entire document, selection, or manually entered range


  • Jump to specified address
  • Jump to address relative to start of document
  • Jump to address relative from end of document
  • Jump to selected address
  • Jump to current offset + selected address
  • Jump to current offset - selected address
  • Jump to last goto + selected address
  • Jump to last goto - selected address
  • Repeat last jump (relative from current offset)
  • Jump backwards (relative from current offset)


  • Print and Print Preview
  • Header and footer are highly customizable
  • Page Setup allows configuration of: font, header, footer, margins and bytes per line


  • View and edit data rendered as natural data type (byte, word, half float, double,string, Unicode string, time_t, time64_t, structure reference, etc.)
  • Integrated with Structure Viewer
  • Array support (add multiple bookmarks with single definition)
  • Calculations supported for address, length, and count (array) definitions: +, -,*, /, %, &, |, ^, <<, >>
  • Functions supported for address, length, and count (array) definitions: UByteAt(),UShortAt(), ULongAt(), UQuadAt, byteflip16(), byteflip32(), and byteflip64()
  • Constants supported for address, length, and count (array) definitions: last (bookmark),start (first bookmark), arrayindex, filelength

Structure Viewer:

  • View and edit data in its natural structure and form
  • File format resembles C/C++ style structure definition
  • Embedded, nested and reference other structures in your definitions
  • Many atomic data types supported: char, wchar, byte, ubyte, word, uword, long, ulong,longlong, half float, float, double, OLE Date/Time, DOSTIME, DOSDATE, FILETIME, time_t,and time64_t
  • Conditional structure elements (if and switch)
  • Big Endian or Little Endian rendering
  • Add floating structures that re-renders on caret position changes
  • Add locked structures which stick to a document and offset
  • Verify expected byte sequences in a document against the structure definition's expectedvalues
  • Integrated Functions enable automatic file format parsing and data manipulation


  • Use either a Simple or Resynchronizing binary compare
  • Resynchronizing Compare color codes the differences
  • Ability to specify Resync Window (how far to look for insert/delete) and match bytes(how many bytes must match) for resynchronizing compares
  • Set starting comparison offset independently for source and target files
  • Set comparison length independently for source and target files

Checksum Generation:

  • Checksum either entire document or a selection
  • 8-bit, 16-bit, 32-bit, and 64-bit checksums (sum)
  • CRC-16
  • CRC-16/CCITT
  • CRC-32
  • Custom CRC-16
  • Custom CRC-32
  • MD2, MD4, MD5
  • SHA1, SHA-224, SHA-256, SHA-384, SHA-512
  • RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320
  • Tiger
  • Whirlpool
  • View checksums and CRCs as 1s or 2s Complement

Data Visualizer

  • Includes 3 palettes and the ability to use user-defined palettes (Microsoft .PAL file format)
  • Zoom visualizer width and height independently
  • Automatic scaling to match editor view
  • Displays editor selection
  • Allows selection of data within the editor

Data Operations:

  • Modify your data in-place using embedded operations
  • Operations can be applied to a selection or an entire document
  • Operations include: set floor value, set ceiling value, lower case, upper case, swap case, byte flip, block shift, ~, <<, >>, ~, |, &, +/-, +, -, *, /, %

Data Inspector:

  • Interpret data at current caret position and edit that data as a more user-friendlysensible data type
  • Big Endian or Little Endian byte ordering
  • View and edit 8 bit signed/unsigned values
  • View and edit 16 bit signed/unsigned values
  • View and edit 32 bit signed/unsigned values
  • View and edit 64 bit signed/unsigned values
  • View and edit half float (16 bit), floats (32 bit) and double precision floats (64bit)
  • View and edit DATE, DOS Date, DOS Time, FILETIME, time_t, and time64_t values
  • View and edit binary representations

Expression Calc

  • Arithmetic operations: +, -, *, /, %, ()
  • Logical operations: ==, !=, ||, &&, <, <=, >, >=
  • Bitwise operations: &, |, ^, <<, >>, ~
  • Arithmetic functions: min, max, byteflip16, byteflip32, byteflip64
  • Document functions: get/set caret position and selection, add structure, get documentsize, getValueAt, setValueAt, insertValueAt
  • Conditional statements: if, switch
  • Looping constructs: for, while
  • Creation and manipulation of integer variables (signed/unsigned 8, 16, 32, and 64bit variations)
  • Big Endian or Little Endian byte ordering
  • Option to automatically place results on clipboard

Base Converter

  • Convert 8 bit, 16 bit, and 32 bit values between hex, decimal and binary

Hex Calculator:

  • Hex/Decimal calculator supporting: +,-,*,/,|,&,^,<<,>>, ~


  • Import and Export 8, 16 or 32 bit Intel Hex Code
  • Import and Export Motorola S19, S28 or S37 records
  • Export as HTML
  • Export as RTF
  • Export as C source
  • Export as Java source
  • Export as Text
  • Export as a Hex string
  • Export as UUEncoding
  • Export as Base64
  • Export Structure Views, Compare Results, Find Results, Bookmark Views, Checksum Results, and Character Distributions as Tabbed Text, CSV, RTF, XML, and HTML.

Plug-in API

  • C/C++ Plug-in API
  • Allow data manipulation of active document
  • Create new documents
  • Generate checksums and digests
  • Create and manipulate smart bookmarks
  • Manipulate caret position and selection
  • Progress and user-cancel support
  • Integration with output window for logging
  • Ability to auto-exec plug-ins on document open