WPFHexaEditor 3.1.3
dotnet add package WPFHexaEditor --version 3.1.3
NuGet\Install-Package WPFHexaEditor -Version 3.1.3
<PackageReference Include="WPFHexaEditor" Version="3.1.3" />
<PackageVersion Include="WPFHexaEditor" Version="3.1.3" />
<PackageReference Include="WPFHexaEditor" />
paket add WPFHexaEditor --version 3.1.3
#r "nuget: WPFHexaEditor, 3.1.3"
#:package WPFHexaEditor@3.1.3
#addin nuget:?package=WPFHexaEditor&version=3.1.3
#tool nuget:?package=WPFHexaEditor&version=3.1.3
WPFHexaEditor
A full-featured WPF hex editor UserControl for .NET 8.
Drop it into any WPF window — no IDE, no plugin host, no external dependencies.
dotnet add package WPFHexaEditor
Quick Start
1 — Add the namespace
<Window
xmlns:hexe="clr-namespace:WpfHexEditor.HexEditor;assembly=WpfHexEditor.HexEditor">
2 — Place the control
<hexe:HexEditor x:Name="HexEdit" />
3 — Open a file
HexEdit.FileName = @"C:\path\to\file.bin";
4 — Open a stream
HexEdit.Stream = File.OpenRead("data.bin");
5 — Read or modify bytes
// Read
byte b = HexEdit.GetByte(offset);
// Write (adds to undo stack)
HexEdit.SetByte(offset, 0xFF);
// Undo / redo
HexEdit.Undo();
HexEdit.Redo();
// Save
HexEdit.SubmitChanges(); // save to original file
HexEdit.SubmitChanges("out.bin"); // save to new file
Standalone setup (no IDE host)
Merge the resource dictionary so themes and brushes resolve correctly:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/WpfHexEditor.HexEditor;component/Resources/Dictionary/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Context menus use opaque backgrounds by default. No extra theming is needed.
Features
Viewing & Navigation
- Hex + ASCII panels with configurable column count
- Column and row cursor highlighting
- Line numbers and offset display (hex / decimal)
- Scroll marker panel
- Column ruler
- Go to offset (Ctrl+G)
- Read-only mode
Editing
- In-place byte editing in hex or ASCII panel
- Multi-byte selection with keyboard and mouse
- Drag-selection auto-scroll
- Undo / redo with UndoGroup transactions and coalescence
- Undo history dropdown
- Cut / copy / paste
- Fill selection with value
Format Detection
- 600+ built-in format definitions (.whfmt) — auto-detection on open
- Format field overlay — semi-transparent colored blocks over detected structures
- Syntax coloring driven by format rules
- Shannon entropy, byte distribution, anomaly detection
Search
- Find (hex sequence, ASCII text, regex)
- Match case / whole word
- Search result highlighting with scroll-bar tick marks
Import / Export
- Intel HEX (.hex) import/export
- Motorola S-Record (.srec/.s19) import/export
- Binary template compiler (010 Editor compatible)
- ParsedFields export templates
UI Controls
HexBreadcrumbBar— visual structure navigatorHexScrollMarkerPanel— overview of bookmarks, search hits, and changes- Settings panel with auto-generated UI and ColorPicker
Settings
- Full
DependencyPropertyAPI for programmatic control - JSON settings persistence (export / import)
ByteToolTipDisplayMode,ByteToolTipDetailLevel,MouseWheelSpeed,FontSize,BytePerLine, and 30+ more
What's New in 3.1.3
- Feat: 155+ new
.whfmtformat definitions added (Groups C–J) — total now exceeds 600 definitions. - Feat:
FormatSchemaValidatorwired —.whfmtfiles are now validated against schema v2.3 at load time; violations are reported viaFormatLoadFailure. - Feat:
.whfmtschema bumped to v2.3 —referencesanddetectionfields unified across all categories. - Fix: Stream operations — contributor enhancements to stream-backed byte provider edge cases.
- Fix:
ForensicPatterntolerant converter — invalid pattern values no longer throw; fallback tonullwith log entry. - New:
InputFiltercontrol — reusable filter-barUserControlfor hex/byte input. - New:
HexStringToColorConverter— XAML binding converter for hex color strings.
What's New in 3.1.2
- Fix: Corrupted or malformed
.whfmtfiles no longer crash the IDE — load failures are captured inFormatLoadFailureand surfaced in the StatusBar (⚠ N whfmt failed to load) instead of propagating exceptions. - Perf:
EmbeddedFormatCatalogsingleton and lazy caches modernized —LazyInitializer.EnsureInitializedreplaces manual double-checked lock;GetAll()/GetCategories()now returnIReadOnlySet<T>backed byFrozenSet<T>for better thread safety and lookup performance. - Test:
MakeEntries(rethrow: true)/MakeCategories()exposed aspublic staticfactory methods — enablesLoadResourcesTestbuild gate. - Feat: New format definition
ROM_SNES_SRM(SNES save RAM). - Fix:
.whfmtreferencesschema v2 standardized across Game and Archives categories.
What's New in 3.1.1
- Fix:
TechnicalDetails.SampleRatechanged fromint?tostring?. - Fix:
MOBI.whfmtreferences structure corrected. - Fix:
GFX.whfmt,TIL.whfmt,CHR.whfmtPlatform field corrected. - Fix: 5
.whfmtfiles with invalidStrengthvalues corrected. - Perf:
JsonSerializerOptionsinImportFromJsonis now astatic readonlyfield — avoids 463+ allocations at startup.
What's New in 3.1.0
- Fix:
SignatureStrengthenum now correctly deserialized — was silently falling back toNone(0), causing all TIER 1 strong-signature formats to be excluded from detection. - Fix: TIER 1 candidates scored before early-exit check.
- Fix: TIER 2 text-heuristic suppressed when TIER 1 has a match.
- Fix: Entropy check skipped for
Strong/Uniquesignatures. - Fix:
EmbeddedFormatCatalog.GetAll()fully thread-safe. - Fix: 463
.whfmtblock-comment headers removed (fixes #229). - Fix:
HexBreadcrumbBarContextMenu fully opaque in standalone apps.
What's New in 3.0.4
- Fix:
ResourceReferenceKeyNotFoundExceptionno longer thrown in standalone WPF apps (fixes #228). - Fix: Drag-selection auto-scroll — cross-panel mouse boundary no longer stops scrolling (fixes #227).
- Fix: Column/row highlight tracks cursor on vertical scroll.
- Feat: Context menu — drop shadow, MDL2 icons, accent band, light theme.
What's New in 3.0.0 (since WPFHexaEditor 2.1.7)
Breaking changes: .NET 8.0-windows only, namespace WPFHexaEditor → WpfHexEditor.HexEditor, assembly renamed, modular architecture.
See full changelog in the GitHub repository.
Included Assemblies
All bundled inside the package — zero external NuGet dependencies:
| Assembly | Purpose |
|---|---|
| WpfHexEditor.HexEditor | HexEditor UserControl — main entry point |
| WpfHexEditor.Core | Byte providers, format detection, search, undo/redo |
| WpfHexEditor.Core.BinaryAnalysis | Cross-platform binary analysis (no WPF dependency) |
| WpfHexEditor.Core.Definitions | 600+ embedded format definitions (.whfmt) |
| WpfHexEditor.Editor.Core | Shared editor abstractions |
| WpfHexEditor.ColorPicker | Color picker control (settings panel) |
| WpfHexEditor.HexBox | Hex display rendering control |
| WpfHexEditor.ProgressBar | Progress bar control |
Localizations: ar-SA, de-DE, es-419, es-ES, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sv-SE, tr-TR, zh-CN
License
GNU Affero General Public License v3.0 (AGPL-3.0)
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
-
net8.0-windows7.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on WPFHexaEditor:
| Package | Downloads |
|---|---|
|
ColorVision.Solution
Package Description |
|
|
XX.AiMessage.WpfDev
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on WPFHexaEditor:
| Repository | Stars |
|---|---|
|
Squalr/Squalr-Sharp
Squalr Memory Editor - Game Hacking Tool Written in C#
|
|
|
SapphireServer/ffxivmon
A FFXIV Network Analysis Tool
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.3 | 71 | 4/15/2026 |
| 3.1.2 | 69 | 4/14/2026 |
| 3.1.1.1 | 52 | 4/14/2026 |
| 3.1.1 | 30 | 4/14/2026 |
| 3.1.0 | 34 | 4/14/2026 |
| 3.0.5 | 90 | 4/14/2026 |
| 3.0.4 | 113 | 4/13/2026 |
| 3.0.3 | 113 | 4/13/2026 |
| 3.0.2 | 103 | 4/10/2026 |
| 3.0.1 | 89 | 4/10/2026 |
| 2.2.0 | 1,303 | 2/11/2026 |
| 2.1.7 | 50,701 | 6/10/2021 |
| 2.1.6 | 26,927 | 1/12/2021 |
| 2.1.5 | 950 | 12/23/2020 |
| 2.1.3 | 783 | 12/16/2020 |
| 2.1.2 | 850 | 12/12/2020 |
| 2.1.1 | 884 | 11/17/2020 |
| 2.1.0 | 803 | 11/12/2020 |