🚧 Active Development — New features, editors and panels are being added regularly. The IDE application is under active construction. Contributions and feedback welcome!
WpfHexEditor — Full IDE with VS-style docking, project system, and multiple editors
The IDE • Editors • Controls • Panels • Quick Start • Docs • Changelog
WpfHexEditor is a full-featured binary analysis IDE for Windows, built entirely with WPF and .NET. It goes far beyond a simple hex editor — think Visual Studio for binary files.
|
|
|
|
WpfHexEditor uses a plugin architecture (IDocumentEditor) — every editor is a standalone, reusable component hosted in the docking system.
| Editor | Status | Progress | Description |
|---|---|---|---|
| Hex Editor | ✅ Active | ~75% | Binary editing — insert/overwrite, 400+ format detection, search, bookmarks, TBL, status bar contributor |
| TBL Editor | ✅ Active | ~60% | Character table editor for custom encodings and ROM hacking |
| Code Editor | ✅ Active | ~55% | Multi-language code editor with syntax highlighting, find/replace, IEditorPersistable, split view |
| Text Editor | ✅ Active | ~50% | Text editing with 26 embedded language definitions, auto-detection by extension, encoding support |
| Script Editor | ✅ Active | ~45% | .hxscript editor with syntax highlighting, run-in-terminal integration, HxScriptEngine backend |
| Image Viewer | 🔧 Active | ~30% | Binary image viewer — zoom/pan, transform pipeline (rotate/flip/crop/resize), FileShare.ReadWrite for concurrent open |
| Tile Editor | 🔧 Active | ~30% | Tile-based graphic editor for ROM/binary assets — palette, zoom, pixel grid |
| Structure Editor | 🔧 Active | ~30% | .whfmt binary template editor — block DataGrid, type/offset/length editing, live save |
| Entropy Viewer | 🔧 Active | ~25% | Visual entropy graph of binary sections — detect encryption, compression, and packed regions |
| Diff / Changeset Viewer | 🔧 Active | ~35% | Side-by-side binary comparison and changeset replay |
| Audio Viewer | 🔧 Stub | ~5% | Audio binary viewer — waveform display (planned) |
| Disassembly Viewer | 🔧 Stub | ~5% | x86/x64/ARM binary disassembler (planned) |
| Decompiled Source Viewer | 🔜 Planned | ~0% | C# skeleton + full IL view via ILSpy backend; "Go to Metadata Token" navigation (#106) |
| Memory Snapshot Viewer | 🔜 Planned | ~0% | Load Windows mini-dump .dmp / Linux core-dump; display memory regions, thread stacks, modules (#117) |
| PCAP / Network Capture Viewer | 🔜 Planned | ~0% | Load .pcap / .pcapng; packet list, layer breakdown (Ethernet/IP/TCP/UDP/TLS), raw payload (#136) |
Implementing a new editor? See IDocumentEditor contract and register via
EditorRegistry.
All controls are independently reusable — no IDE required. Drop any of them into your own WPF application with a simple project reference.
| Control | Frameworks | Progress | Description |
|---|---|---|---|
| HexEditor | net8.0-windows | ~80% | Full-featured hex editor UserControl — MVVM, 16 services, insert/overwrite, search, bookmarks, TBL, 400+ format detection |
| HexBox | net8.0-windows | ~80% | Lightweight hex input field — zero external dependencies, MVVM-ready |
| ColorPicker | net8.0-windows | ~95% | Compact color picker UserControl with RGB/HSV/hex input |
| BarChart | net48 | net8.0-windows | ~85% | Standalone byte-frequency bar chart — visualizes distribution of all 256 byte values (0x00–0xFF) in a binary file |
| Docking.Wpf | net8.0-windows | ~65% | Custom-built VS-style docking engine — float, dock, auto-hide, colored tabs, 8 themes — 100% in-house, zero third-party dependency |
| Library | Frameworks | Description |
|---|---|---|
| Core | net8.0-windows | ByteProvider, 16 services, data layer — the engine powering HexEditor |
| Editor.Core | net8.0-windows | IDocumentEditor plugin contract, editor registry, changeset system, shared interfaces |
| BinaryAnalysis | net8.0 | 400+ format detection engine, binary templates, DataInspector service |
| Definitions | net8.0-windows | Embedded format catalog (400+ file signatures) and syntax definitions shared across editors and plugins |
| SDK | net8.0-windows | Public plugin API — IWpfHexEditorPlugin, IIDEHostContext, IUIRegistry, 11+ service contracts incl. ITerminalService, PluginCapabilities.Terminal |
| PluginHost | net8.0-windows | Runtime plugin infrastructure — discovery, load, watchdog, PluginManagerControl, PermissionService |
| PluginSandbox | net8.0-windows | Out-of-process plugin execution host via IPC — fault isolation stub (#81) |
| Docking.Core | net8.0-windows | Abstract platform-agnostic docking contracts — DockEngine, layout model, DockItemState |
| Core.Terminal | net8.0-windows | Command engine — 31+ built-in commands, HxScriptEngine, CommandHistory, WriteTable output helper |
| Terminal | net8.0-windows | WPF terminal panel layer — TerminalPanel, TerminalPanelViewModel, multi-tab shell session management |
| Core.AssemblyAnalysis | net8.0 | BCL-only .NET PE analysis pipeline — PEReader + assembly model, foundation for Assembly Explorer plugin |
| Decompiler.Core | net8.0-windows | IDecompiler contract + stub backend for ILSpy/dnSpy integration (#106) |
| ProjectSystem | net8.0-windows | .whsln / .whproj workspace and project model — serialization, project-to-project references, dialogs |
| Options | net8.0-windows | AppSettingsService, OptionsEditorControl — IDE settings persistence and options page infrastructure |
Panels connect to the active document automatically via the docking system.
| Panel | Progress | Description |
|---|---|---|
| Parsed Fields Panel | ~75% | 400+ format detection — parsed field list with type overlay and inline editing |
| Data Inspector | ~65% | 40+ byte interpretations at caret position (int, float, GUID, date, color, …); plugin with settings page |
| Structure Overlay | ~55% | Visual field highlighting superimposed on the hex grid |
| Solution Explorer | ~75% | Project tree with virtual & physical folders, Show All Files, D&D from Windows Explorer, expand-state persistence, delete from disk |
| Properties Panel | ~60% | Context-aware properties for the active document (F4) — auto-refresh on cursor idle (400 ms debounce), categorized groups, sort/copy/refresh toolbar |
| Error Panel | ~70% | Diagnostics and validation errors from any IDiagnosticSource editor |
| Output Panel | ~65% | Session log, file operation messages and build feedback |
| Terminal Panel | ~70% | Integrated command terminal — 31+ commands, colored output, history, TerminalMode (Interactive/Script/ReadOnly), session export, plugin API via ITerminalService |
| Plugin Manager | ~65% | Browse, enable/disable, uninstall plugins; settings integration via IPluginWithOptions; themed toolbar with RelayCommand |
| Plugin Monitoring | ~60% | Real-time CPU% + memory charts per plugin; pure WPF Canvas + Polyline (no charting lib); rolling history, PerformanceCounter + GC polling at 1 s interval |
| Options | ~75% | VS2026-style settings document tab — 9 pages: theme, display, editing, behavior, status bar, plugins, auto-save |
| Quick Search Bar | ~55% | Inline Ctrl+F overlay (VSCode-style) — find next/prev, regex toggle, jump to Advanced |
| Advanced Search | ~45% | Full-featured search dialog — 5 modes: Hex, Text, Regex, TBL, Wildcard |
| File Diff | ~30% | Side-by-side binary comparison with diff navigation (F7/F8) |
| Assembly Explorer | ~15% | .NET PE tree — namespaces, types, methods, fields, events, resources; ECMA-335 metadata resolution (Phase 1 done, #104–105) |
| Archive Structure | ~40% | ZIP/archive tree view — browse entries, extract, inspect compressed file layouts inside the hex view |
| File Comparison | ~45% | Binary file comparison panel — byte-level diff between two files with synchronized scrolling |
| File Statistics | ~55% | Byte-frequency charts, entropy score, size breakdown, and format distribution for the active binary |
| Format Info | ~60% | Detailed format metadata panel — detected format, MIME type, magic bytes, section list, and known offsets |
| Pattern Analysis | ~50% | Pattern detection in binary data — highlight known byte sequences, data structures, and anomalies |
| Custom Parser Template | ~40% | Template-driven binary parser — define structures in a .bt-style schema, render parsed fields live |
git clone https://github.com/abbaye/WpfHexEditorIDE.gitOpen WpfHexEditorControl.sln, set WpfHexEditor.App as startup project, and run.
IDE compatibility: Actively developed on Visual Studio 2026. Fully compatible with Visual Studio 2022 (v17.8+). JetBrains Rider is also supported.
Reference the projects:
<ProjectReference Include="..\WpfHexEditor.Core\WpfHexEditor.Core.csproj" />
<ProjectReference Include="..\WpfHexEditor.HexEditor\WpfHexEditor.HexEditor.csproj" />Add to your XAML:
<Window xmlns:hex="clr-namespace:WpfHexEditor.HexEditor;assembly=WpfHexEditor.HexEditor">
<hex:HexEditor FileName="data.bin" />
</Window>NuGet: A legacy package (
WPFHexaEditor) is still available on NuGet but is no longer maintained. NuGet packaging is planned (#109).
JetBrains Rider: See the Rider Guide for IntelliSense tips.
|
|
|
|
|
|
Full details in ROADMAP.md · Issue tracking in CHANGELOG.md — What's Next.
| Feature | Status | Feature # |
|---|---|---|
| Document Model — unified in-memory document representation | 🔧 In Progress ~10% | #107 |
| Assembly Explorer — full tree + ECMA-335 metadata | 🔧 In Progress ~15% | #104–105 |
| Integrated Terminal — full multi-shell + macro | 🔧 In Progress ~70% | #92 |
MSBuild & Visual Studio .sln / .csproj / .vbproj support |
🔜 Planned | #101–103 |
| .NET Decompilation via ILSpy | 🔜 Planned | #106 |
| Code Intelligence (LSP / IntelliSense / Snippets) | 🔜 Planned | #85–89 |
| Integrated Debugger | 🔜 Planned | #44, #90 |
| Git Integration | 🔜 Planned | #91 |
| Plugin Marketplace & Auto-Update | 🔜 Planned | #41–43 |
| IDE Localization Engine — full IDE UI (HexEditor control already 19 languages) | 🔜 Planned | #100 |
| Official Website — landing page, docs, downloads, plugin registry | 🔜 Planned | #108 |
| Installable Package — MSI / MSIX / WinGet, auto-update, no SDK required | 🔜 Planned | #109 |
| In-IDE Plugin Development — write, build, hot-reload and live-test SDK plugins without leaving the IDE | 🔜 Planned | #138 |
| Document | Description |
|---|---|
| GETTING_STARTED.md | Run the IDE or embed the control — step by step |
| FEATURES.md | Complete feature list — IDE, editors, panels, controls |
| CHANGELOG.md | Version history and what's new |
| MIGRATION.md | Legacy V1 → migration guide (zero code changes required) |
| Document | Description |
|---|---|
| Architecture Overview | System architecture, services, MVVM patterns |
| Core Systems | ByteProvider, position mapping, undo/redo, rendering |
| Data Flow | File, edit, search and save operation sequences |
| API Reference | Full API documentation with code examples |
| Rider Guide | JetBrains Rider setup and tips |
| Framework | Version | Notes |
|---|---|---|
| .NET | 8.0-windows | Span<T>, SIMD, PGO — full performance unlocked |
.NET Framework 4.8 support has been dropped. The project targets .NET 8.0+ exclusively to take full advantage of modern runtime performance, Span<T>, SIMD vectorization, and Profile-Guided Optimization (PGO). If you need .NET Framework support, use the legacy V1 NuGet package.
⚠️ HexEditor control only — The embeddedHexEditorControlsupports 19 languages with instant runtime switching (no restart required). The IDE UI is currently English only — a full localization engine for the IDE is planned (#100).
HexEditor control languages: English · French · Spanish · German · Italian · Japanese · Korean · Dutch · Polish · Portuguese · Russian · Swedish · Turkish · Chinese · Arabic · Hindi · and more
English and French are the most complete. Contributions welcome!
WPF HexEditor is 100% free and open source (GNU AGPL v3.0) — free to use, modify and distribute under the terms of the AGPL.
This project is developed in free time by passionate contributors. If you find it useful:
- ⭐ Star this repository — helps others discover the project
- 🍴 Fork and contribute — pull requests are always welcome
- 💬 Share feedback — report bugs or suggest features via GitHub Issues
Every star motivates us to keep building! 🙏
We welcome contributions! The codebase is well-organized and documented:
- Architecture Guide — service-based design and patterns
- CONTRIBUTING.md — branch conventions, standards, how to submit a PR
- Partial class structure — every feature in its own file, easy to navigate
- Sample App — real integration to learn from
GNU Affero General Public License v3.0 — free to use, modify and distribute. Any modified version distributed over a network must also be made available as open source. See LICENSE for details.
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📧 Email: derektremblay666@gmail.com
✨ WPF HexEditor ✨
A powerful, actively developed hex editor IDE for .NET
Created by Derek Tremblay (abbaye)
Contributors: Claude Sonnet 4.6, Claude Opus 4.6
HexEditor Legacy Contributors: ehsan69h, Janus Tida
Coded with ❤️ for the community! 😊🤟 (with a touch of AI magic ✨)
🚀 Quick Start • 📖 Tutorial • 📊 Features • 📝 Changelog • ⭐ Star Us








