Edit Anything

Professional text and hex editing
with Binary Templates technology.

What's New in Version 11.0

SweetScape Software is pleased to announce 010 Editor v11.0 with a new style including a new default editor font and new themes:

Two new icons are added to the Tool Bar. The Run Script icon can be used to run a Script on the current file and the Run Template icon can be used to run a Template on the current file:

When editing a Script or Template, it can now be run by clicking the Run icon in the top-right corner of the editor. Clicking the down arrow to the right of the Run icon displays a popup menu for selecting the target file for the Script or Template:

The Repository Menu can be accessed by clicking the Repository Icon in the top-right corner of a Script or Template, or by right-clicking on a Script or Template and selecting Repository from the right-click menu.

The Status Bar has been enhanced with a number of popup panels. The Edit As for the current file can now be chosen by clicking a Status Bar panel:

When editing a text file, the Syntax Highlighter can also be chosen from the Status Bar (Plain means no Syntax Highlighter has been chosen):

Templates can now be run at the current cursor position or on a selection by right-clicking on a hex editor and chosing Run Template at Offset.... The following dialog is used to set the offset to run:

When debugging a Script or Template the Debug icons are now displayed in the top-right corner of the editor:

When selecting bytes the selection is now blended with the background text so colors show through the selection. The amount of blending can be adjusted in the Theme/Colors Options dialog.

'local' structs are now supported in Scripts and Templates and capture groups are supported in Regular Expression replacements. See below for many more enhancements. To download the latest version please click the following link:

See also:

Version 11.0.1 - Nov 9th, 2020

  • When opening a .LNK file, a dialog now asks whether to open the target of the LNK file or the LNK file itself. The LNK open action can also be controlled in the Editor Options dialog.
  • On the Bookmarks tab of the Inspector added Import... to the right-click menu to import a CSV file of bookmarks.
  • Fixed a string sometimes did not display properly in the Variables tab when debugging a script.
  • Fixed can get a crash setting a watch on a local struct.
  • Fixed sometimes a local struct in a script could not access other variables inside the local struct.
  • Fixed the opacity sliders were not saved properly in the Theme/Colors Dialog page on exiting 010 Editor.
  • Fixed ReadByte/ReadInt/ReadInt64/etc. did not properly take the file offset into account when called with no arguments.
  • Fixed a possible corruption of the 010 Editor cfg file when closing multiple instances of 010 Editor at the same time.
  • Fixed a possible crash running scripts which modify linefeeds in a text file.
  • Fixed a possible crash in SScanf using a string which is not null-terminated.
  • Fixed a possible crash calling ReplaceAll in a script.
  • Fixed some scripts were not properly updating the modified state after being run.
  • Fixed when a Template was modified, the Template icon disappeared from the file in the Workspace.
  • Fixed the Bookmarks panel was not displaying the type name properly on some systems.

Version 11.0 - September 30th, 2020

The following is an overview of the new functionality in version 11.0 of 010 Editor:

  • New default editor font "Droid Sans Mono" and new themes "Starry Sky" and "Morning Sky".
  • Simplified editor display and the bar above each editor has been hidden (Run Template and Run Script are moved to icons in the Tool Bar and Edit As and Syntax are moved to the Status Bar).
  • Run, Repository and Debug icons are now displayed in the top-right corner of a Script or Template as overlaid icons.
  • Can run a Template at the current cursor position or on a selection by right-clicking on a Hex Editor and choosing Run Template at Offset.
  • Improved Status Bar which includes a number of popup sections.
  • 'local' structs are now supported in Templates and Scripts.
  • Capture groups / backreferences can be used when replacing with Regular Expressions.
  • When selecting bytes, the selection color is now blended with the existing colors allowing information to show through the selection.

The following is a list of all new features in version 11.0 of 010 Editor:

  • Style
    • Added new dark and light application themes Starry Sky and Morning Sky (older themes are still available).
    • New style for a number of dialogs including an improved Welcome dialog, About dialog, Repository dialog, Options dialog and splash screen.
    • Fonts are now more consistently applied across the application on Windows.
    • Tool Buttons can be styled now and rendering is improved.
    • Clicking on a Tool Button when a popup is shown will hide the popup.
    • Table Headers can be styled and rendering is improved.
    • Tables have a solid focus indicator instead of a dotted indicator.
  • Editor
    • New default editor font "Droid Sans Mono".
    • Simplified style for the Text Editor and Hex Editor with a thinner ruler.
    • When selecting bytes, the selection color is now blended with the existing colors allowing information to show through the selection.
    • The amount of blending for the selection can be adjusted in the Theme/Colors page of the Options dialog.
    • In the Hex Editor, improved drawing of colored bytes so that gaps do not appear in the display.
    • The bar above each editor has been hidden by default.
    • When editing a Script or Template, buttons for Run and Repository are overlaid over the editor in the top right-hand corner.
    • Can right-click on the overlaid icons to hide them or use the 'View > File Bar' menu.
    • Run Template and Run Script sections are now moved to icons in the Tool Bar by default.
    • Edit As and Syntax sections are moved to the Status Bar.
    • When scrolled to the right, a Scroll Shadow is now drawn along the left side of the editor (can be turned off in the Options dialog).
    • The old-style File Bar can still be shown using 'View > File Bar > Show Old File Bar'.
    • When editing a Hex file, new options Run Template... and Run Template at Offset were added to the right-click menu.
    • The Ruler displays a thicker line at column 80.
    • Removed the cursor hourglass display on undo/redo for small operations.
    • Hid the Undo/Redo actions from the right-click menu if there is no operation to Undo/Redo.
    • Adjusted the wrap line indicator in the left-hand column.
    • Can apply a style to the splitter buttons in the editor scroll bar.
  • Templates and Scripts
    • The 'local' keyword can now be used with enums and structs.
    • 'GUID' is now built-in as a typedef for an array of 16 unsigned bytes with read/write support in the Template Results.
    • Templates can now be run at an offset (i.e. at the current cursor position on on a set of selected bytes).
    • In the Template Results header a refresh icon is now shown which can be clicked to re-run the Template.
    • The Template Results panel splitter renders better when resizing.
    • When running a Script or Template that is focused, the editor attempts to make the target data file visible (this can be turned off in the Compiling Options dialog).
    • Octal notation \nnn is now supported inside a string where n is from 0..7 (before just \0 was properly supported).
    • String assignment with '=' now copies the whole string including null characters.
    • Added GUID highlighting to 010.bt syntax highlighter.
  • Running Templates at an Offset
    • Can right-click on a Hex Editor and choose Run Template at Offset to execute a Template at the current cursor position.
    • If a selection is made, Run Template at Offset can be used to run a Template on the current selection.
    • Run Template at Offset shows a Run Template dialog with a Run at Offset toggle and field at the bottom.
    • Enter the offset to run the Template in the Run at Offset field. The field will automatically be filled with the cursor position or the start of the selection.
    • Optionally enable the Limit Size field and enter the number of bytes in the field. The Template will be able to access this number of bytes from the offset.
    • The dialog box keeps a history list of the offsets and size limits used.
    • The Run Template dialog shows the list of Open, Installed and Recent Templates similar to the Run Template drop-down in the Tool Bar.
    • A Template now uses virtual addresses that are relative from the offset. For example, address 0 in the Template corresponds to the file position offset.
    • All functions which access addresses use the virtual addressing scheme (e.g. FSeek, FTell, startof).
    • All functions which access the size of the file use the size limit (e.g. FEof, FileSize).
    • After running a Template at an offset the Template Results header reads 'Template Results - <filename> @ <offset> | <sizelimit>.
    • Clicking the down-arrow to the right of the Template Results header shows a popup menu for changing the offset or clearing the offset.
    • Addresses in the Template Results are shown relative to the start of the file by default but can be shown relative to the offset by right-clicking on the Start column and selecting Start Addresses > From Offset.
  • Templates and Scripts - Local structs
    • The 'local' keyword can be used with structs to declare a struct as in regular C.
    • Local structs can be used in Scripts as well as Templates but must be declared with the 'local' keyword.
    • All variables defined inside a local struct are automatically local but sub-structs must still be declared with the 'local' keyword.
  • Templates and Scripts - Functions
    • Added new functions for working with GUIDs: GUIDToString and StringToGUID.
    • Added new functions for display formats: GetDisplayFormat and SetDisplayFormat.
    • Added new functions for keep file time: GetKeepFileTime and SetKeepFileTime.
    • Added new functions for checking status: IsBitfieldLeftToRight, IsBitfieldPaddingEnabled and IsUndoEnabled.
    • Added new functions for running Templates at an offset: OffsetGetStart, OffsetSetStart, OffsetGetLimitSize, OffsetSetLimitSize, OffsetClear.
    • In the FindInFiles function added an option to follow symbolic links.
    • In the AddBookmark function changed arraysize to int64.
    • Function GetFileNum now returns -1 if it is called in a Script which has no file target instead of causing a runtime error.
  • Tool Bars
    • Added new Run Template and Run Script icons which display a drop-down list of Templates or Scripts to run.
    • The drop-down list from the Run Templates or Run Scripts icon shows a list of Open, Installed or Recent Templates or Scripts.
    • Hid the Change Font and Endian icons in the Tool Bar (can be shown by right-clicking on the Tool Bar and select Font or Endian, and note Endian is still visible in the Status Bar).
    • Improved rendering and changed style of some Tool buttons.
    • Tool Bars can now be docked to the left or right side of the application.
    • Reordered icons in the View tool bar.
    • Can change text and disabled text color of tool bar items with the Options dialog.
    • Added icons to the Run Template drop-down to open the Template Repository dialog or Run Template at Offset.
    • Added an icon to the Run Script drop-down to open the Script Repository dialog.
  • Status Bar
    • Reorganized the Status bar into 3 sections and changed the style on some operating systems.
    • Most Status Bar panels can now be clicked to show a popup menu or change status (clickable panels highlight and show an up-arrow).
    • The central section of the status bar shows different information depending if a Text or Hex file is shown.
    • For Text files, the central section shows Edit As, Syntax Highlighter, Character Set, Linefeeds, and Tabs (also shows Endian for Unicode character sets).
    • For Hex files, the central sections show Edit As, Character Set and Endian.
    • Clicking on the Position, Byte Value or Size panel shows a popup used to change units or open the Goto or Set File Size dialogs.
    • Binary is no longer shown in the Byte Value panel (moved to Inspector) but can be shown by clicking on the panel and selecting Byte Value Units.
    • Commas are shown by default in the File Size panel but can be turned off by left-clicking and selecting File Size Units.
    • Clicking on the Edit As panel shows a popup menu to choose a new Edit As (e.g. Text, Hex, Binary, etc.).
    • Clicking on the Syntax Highlighting panel shows a popup to choose a new Syntax Highlighter or turn off Syntax Highlighting.
    • Syntax Highlighting panel shows 'Plain' if no Syntax Highlighter has been chosen.
    • Clicking on the Character Set panels shows a popup to select a new character set or convert to a different character set.
    • Linefeeds panel now shows 'CRLF' for DOS linefeeds 0D0A, 'LF' for Unix linefeeds 0A, or 'CR' for Mac linefeeds 0D.
    • Clicking on the Linefeeds panels shows a popup menu to convert to a different type of linefeed.
    • Tabs panel now shows SPC if inserting spaces or TAB if inserting tabs.
    • Clicking on the Tabs panel shows a popup menu to change the tab settings.
    • Clicking on the Endian panel toggles the endian and no longer shows a popup menu.
    • Added more information to hints for the panels.
  • Repository
    • A Repository icon is displayed in the top-right corner of a Script or Template editor and clicking the icon displays the Repository menu.
    • The Repository icon changes depending upon the status of the file (gray means the file is not in the repository and blue means the file is in the repository).
    • On the Repository menu, renamed some menu items from 'Submit File...' to 'Submit to Repository...' and 'Update' to 'Update from Repository...'.
    • When editing a Script or Template, the Repository menu can also be accessed from the editor right-click menu.
    • On the Help menu added View Repository Status and View Repository History.
    • The Repository dialog shows tabs on the bottom and has a new style.
    • In the Repository history dialog, the Comment field now displays the description of the file for the initial version.
  • Capture Groups / Backreferences
    • When doing a Replace operation with Regular Expressions, backreferences (capture groups) can be used in the replace string.
    • Brackets ( and ) can be used in a Regular Expression to create a capture group.
    • Use \1 up to \9, or $1 up to $9 to reference capture groups 1 through 9.
    • Use \k<n> or ${n} where n is any integer to reference capture group 10 or higher.
    • Named capture groups can be created in a Regular Expression using (?<name>...)
    • A backreference to a named capture group can be created with \k<name> or ${name} in the replace string.
    • Used capture group \0 or $0 to reference the text matching the whole regular expression.
    • The codes \t, \n, \r, \a, \e, \f, \v, and \xHH can now be used in the replace string.
  • Debugging
    • When the debugger is active, the Continue, Stop, and Step icons are overlaid on the top-right corner of the Script or Template being debugged.
    • The Debug Tool Bar is now hidden by default but can be shown with 'View > Tool Bars > Debug'.
    • By default only a Pause button is displayed in the Tool Bar which can be used to pause or stop a running Script or Template.
    • The icon was changed to a double-arrow for Continue.
    • Breakpoint indicators were resized and fixed for drawing issues.
  • Workspace
    • Added a Table header with File and Path sections to the Workspace to be more consistent with other tabs.
    • Modified files are now shown as bold (can turn this off by right-clicking on the Workspace and selecting Options).
    • Only show icons now for Scripts, Templates, Drives and Processes (removed file icon for regular files).
    • Possible to display folders with bold text (right-click on the Workspace and select Options).
  • Inspector
    • 'Binary' and 'GUID' have been added to the Inspector.
    • The Inspector.bt file has been added to the Repository which can be used to customize the Inspector.
  • Find and Replace
    • Added new Find Next/Previous icons.
    • Tool buttons in Find Bars work better with popup issues fixed.
    • In Find in Files, added an option Follow Symbolic Links. Turning this off ignores directories that are symbolic links.
    • In the Find Bar, text is now not automatically converted to uppercase before being displayed in the bar.
    • Lines used to resize sections of the Find bar are now drawn as solid instead of dotted.
  • General
    • In the Calculator, when multiplying two integers the multiplication is now done as an int64 to prevent overflow.
    • Added 'View > Linefeeds > Show Wrap Line' to allow drawing a wrap line even when wrapping is turned off.
    • 'View > Character Set > Use Default Char Set' menu option now includes the name of Edit As to be more clear.
    • When a license for a previous version of 010 Editor is entered in the Register dialog, clicking the 'Check License' button displays the greatest version the license can run.
    • Renamed 'File Interface' to 'Edit As' in the interface and the documentation.
    • Each Dock Header now highlights when the mouse is placed over them when they are docked.
    • Added 'View > Status Bar > Byte Value Units' to control what is displayed in the Status Bar Byte Value panel.
    • Reordered the 'View > Font' menu.
    • Added the 'View > File Bar' menu.
    • Added Insert Tabs to the 'View > View Tabs/Whitespace' menu.
    • On macOS removed the 'View > Show Tab Bar' menu option.
    • The tear marker on File Tabs is easier to see.
    • Improved style and drawing in the Explorer tab.
    • Clear All Bookmarks action now asks for confirmation before proceeding.
    • Added scroll bars to the tutorial for long pages.
  • Options
    • New style for the Options dialog.
    • Scroll bars are automatically displayed now when resizing the dialog.
    • Renamed File Interface page to Edit As.
    • Renamed Keyboard page to Shortcuts.
    • On the Fonts page added Application Font and Dock Header Font.
    • On the Fonts page added Set Old Editor Fonts button to set editor fonts to fonts used in previous versions of 010 Editor.
    • On the Editor page added Show Shadow when Horizontally Scrolled option.
    • On the Edit As page the names of the linefeeds have changed.
    • On the Compiling page added Show Target File after Running Script/Template.
    • On the Theme/Colors page added new styles Starry Sky and Morning Sky.
    • On the Theme/Colors page older styles are listed in the -----Older Themes----- section.
    • On the Theme/Colors page added option for native drawing of Tool Buttons and Table Headers.
    • On the Theme/Colors page some colors have an opacity slider for blending with the background color (0% means transparent and 100% means fully opaque).
    • On the File Dialogs page the directory for Open File, Open Template and Open Script can be set to Current File Location / Last Used Directory or Current File Location / Last Used ??? Directory.
    • Added Application colors: Dock Header Highlighted.
    • Added Tool Bar colors: Button Highlighted, Button Selected, Button Down, Text and Disabled Text.
    • Added Status Bar colors: Status Bar Highlighted, Status Bar Line.
    • Added Dock Window colors: Explorer Fields.
    • Added Table colors: Header, Header Outline, Header Highlight, Grid Lines, and Selected Cell.
    • Added App Bar color: App Bar Splitter.
    • Added Editor colors: Wrap Line, Splitter Button and Scroll Shadow.
  • Manual
    • Changed help viewer style and icons to better match main application.
    • Reorganized Templates and Scripts manual section to include a Language Reference.
    • Fixed the help viewer now does a better job picking an initial size.
  • Bugs
    • Fixed casting uint64 to double was only casting the lower 32 bits (note that casting int64 to double works fine).
    • Fixed a memory leak in Templates with a lot of variables.
    • Fixed the FileSave function reported a problem reopening a file after saving to a different name.
    • Fixed a rendering problem with the Hex Editor when dragging the application between monitors with different DPI settings.
    • Fixed a possible crash in a script using Quick Watch to check the value of an item in an array.
    • Fixed the size of a string was not updating properly in the Template Results when the string was expanded while debugging.
    • Fixed on macOS some text could be hard to read in macOS dark mode.
    • Fixed on macOS the Find Options dialog in the Floating Tab Group could sometimes be displayed behind the window.
    • Fixed in the Quick Watch window some drop-downs for enums were not working properly.
    • Fixed some drawing issues with drawing breakpoints when scrolling.
    • Fixed certain cases where the text in a message dialog box could be cut off.
    • Fixed Copy as Java Code should not include the array size and changed datatype to byte.
    • Fixed the button to expand tool bars was too hard to see on a dark theme.
    • Fixed some issues drawing the ruler on high-DPI displays.
    • Fixed an issue with the width of the editor scroll bars on some systems.
    • Fixed deleting a single byte in the Text editor should not show a status bar message.
    • Fixed string assignment in a Script or Template was losing characters after a null was included in a string.
    • Fixed a file in the Floating Tab Group could lose focus when clicking some icons.
    • Fixed possible scrolling issue in the Hex Editor using PageUp/PageDown when Line Width Auto is used.
    • Fixed possible crash with unterminated strings in Scripts or Templates.
    • Fixed Copy as HTML should not copy line numbers if the line numbers are hidden.
    • Fixed hints for Tool Buttons were not displayed when the Floating Tab Group was focused.

For a full list of changes in other versions of 010 Editor, please see the Release Notes.

Newsletter - Receive special offers, tips, tricks and news. Join now

010 Editor v14.0.1 is here!
What's new?



010 Editor

E-mail: info@sweetscape.com