Skip to content

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.

License

Notifications You must be signed in to change notification settings

abbaye/WpfHexEditorIDE



⚡ The Fastest Wpf Hex Editor IDE for .NET ⚡

NuGet Legacy V1 .NET Multi-Target Platform C# License Languages Status


🚧 Active Development — New features, editors and panels are being added regularly. The IDE application is under active construction. Contributions and feedback welcome!


WPF HexEditor IDE
WpfHexEditor — Full IDE with VS-style docking, project system, and multiple editors

The IDEEditorsControlsPanelsQuick StartDocsChangelog


🖥️ The IDE Application

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.

🏗️ Project System

  • Solution & Project management (.whsln / .whproj)
  • Virtual & physical folders (like VS Solution Explorer)
  • Format versioning with auto-migration
  • Per-file state persistence (bookmarks, scroll, encoding)

🪟 VS-Style Docking (🔧 100% in-house engine)

  • Float, dock, auto-hide any panel
  • Colored tabs with per-document customization
  • 8 built-in themes (Dark, Light, VS2022Dark, DarkGlass, Minimal, Office, Cyberpunk, VisualStudio)
  • Tab placement left / right / bottom

📋 IDE Infrastructure

  • IDocumentEditor plugin contract — every editor is pluggable
  • Undo/Redo/Copy/Cut/Paste unified via menu bindings
  • VS2022-style status bar (edit mode, bytes/line, caret offset)
  • Output panel + Error/Diagnostics panel + Quick Search (inline + advanced)
  • VS2026-style Options — document tab, auto-save, live theme preview

🔍 Binary Intelligence

  • 400+ file format auto-detection
  • Parsed Fields Panel with structure overlay
  • Data Inspector — 40+ type interpretations
  • 19 languages with instant switching (partial — not all languages fully translated)

📝 Editors

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 ~70% Binary editing — insert/overwrite, 400+ format detection, search, bookmarks, TBL
TBL Editor ✅ Active ~60% Character table editor for custom encodings and ROM hacking
JSON Editor ✅ Active ~55% JSON editing with real-time validation, syntax highlighting and diagnostics
Text Editor ✅ Active ~45% Text editing with syntax highlighting and encoding support
Image Viewer 🔧 Stub ~5% Binary image viewer (planned)
Audio Viewer 🔧 Stub ~5% Audio binary viewer (planned)
Diff Viewer 🔧 Stub ~5% Side-by-side file comparison (planned)
Disassembly Viewer 🔧 Stub ~5% Binary disassembler (planned)
Entropy Viewer 🔧 Stub ~5% Entropy analysis viewer (planned)

Implementing a new editor? See IDocumentEditor contract and register via EditorRegistry.


🧩 Standalone Controls & Libraries

All controls are independently reusable — no IDE required. Drop any of them into your own WPF application with a simple project reference.

UI Controls

Control Frameworks Progress Description
HexEditor net48 · net8.0-windows ~80% Full-featured hex editor UserControl — MVVM, 16 services, insert/overwrite, search, bookmarks, TBL, 400+ format detection
HexBox net48 · net8.0-windows ~80% Lightweight hex input field — zero external dependencies, MVVM-ready
ColorPicker net48 · net8.0-windows ~95% Compact color picker UserControl with RGB/HSV/hex input
BarChart net48 · net8.0-windows ~60% Byte frequency distribution chart (0x00–0xFF visualization) — standalone only, not yet integrated in the IDE
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

Libraries & Infrastructure

Library Frameworks Description
Core net48 · net8.0-windows ByteProvider, 16 services, data layer — the engine powering HexEditor
Editor.Core net48 · net8.0-windows IDocumentEditor plugin contract, editor registry, shared interfaces
BinaryAnalysis net8.0-windows 400+ format detection engine, binary templates, DataInspector service

🗂️ IDE Panels

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, …)
Structure Overlay ~55% Visual field highlighting superimposed on the hex grid
Solution Explorer ~70% Project tree with virtual & physical folders, Show All Files mode, context menus
Properties Panel ~50% Context-aware properties for the active document (F4)
Error Panel ~70% Diagnostics and validation errors from any IDiagnosticSource editor
Output Panel ~65% Session log, file operation messages and build feedback
Options ~70% VS2026-style settings document tab — theme, display, editing defaults, 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)

📸 Screenshots

🖥️ IDE Overview
VS-style docking with Solution Explorer, HexEditor and ParsedFieldsPanel

IDE Overview
🔬 Parsed Fields Panel
400+ format auto-detection with structured field analysis

Parsed Fields
📝 Multi-Editor Tabs
HexEditor, TBL, JSON and Text editors side by side

Multiple Editors
🗂️ Solution Explorer
VS-style project tree with virtual and physical folders

Solution Explorer
📷 More screenshots — TBL Editor, Error List, Output, Light theme
📋 TBL Editor
Custom character table editor for ROM hacking and encodings

TBL Editor
🔴 Error Panel
Diagnostics and validation errors from active editors

Error Panel
📤 Output Panel
Session log, messages and file operation feedback

Output Panel
☀️ Light Theme
8 built-in themes — Dark, Light, VS2022Dark, DarkGlass, and more

Light Theme
🎮 TBL Format Explained
Custom character table format for game ROM editing

TBL Explained

⚡ Quick Start

Run the IDE

git clone https://github.com/abbaye/WpfHexEditorIDE.git

Open WpfHexEditorControl.sln in Visual Studio 2022, set WpfHexEditor.App as startup project, and run.

Embed the HexEditor in your WPF app

Reference the V2 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 V1 legacy package (WPFHexaEditor) is still available on NuGet but is no longer maintained. V2 NuGet packaging is planned.

JetBrains Rider: See the Rider Guide for IntelliSense tips.

Complete Tutorial →


🎯 Why Choose WPF HexEditor?

⚡ Performance

  • 99% faster rendering (DrawingContext)
  • 10-100x faster search (LRU + SIMD + parallel)
  • 80-90% less memory (Span<T> + pooling)
  • Handles GB+ files without freezing

🏗️ Clean Architecture

  • MVVM with 16 specialized services
  • Partial classes organized by feature
  • Plugin editors via IDocumentEditor
  • 100% testable, zero UI in services

🖥️ Full IDE

  • Project system (.whsln / .whproj)
  • VS-style docking (no third-party lib)
  • 8 themes out of the box
  • 4 functional editors + 5 planned

🔍 Binary Intelligence

  • 400+ formats auto-detected
  • Parsed Fields with type overlay
  • Data Inspector 40+ interpretations
  • Binary templates support

🌍 Multilingual

  • 19 languages defined (partial translations)
  • Instant switching at runtime
  • No restart required
  • Extensible with new languages

✅ Production Ready

  • Insert Mode bug fixed (#145)
  • Save data loss resolved
  • Unlimited Undo/Redo
  • Async file operations with progress

📚 Documentation

User Guides

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 V1 → V2 migration guide (zero code changes required)

Developer Reference

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

🔧 Supported Frameworks

Framework Version Notes
.NET Framework 4.8 Full support — LRU cache, parallel search
.NET 8.0-windows Maximum performance — Span<T>, SIMD, PGO

Recommendation: Use .NET 8.0 for best performance (SIMD vectorization, Profile-Guided Optimization).


🌍 Multilingual

19 languages defined with instant runtime switching (no restart).

⚠️ Partial translations — not all languages are fully translated yet. English and French are the most complete. Contributions welcome!

English · French · Spanish · German · Italian · Japanese · Korean · Dutch · Polish · Portuguese · Russian · Swedish · Turkish · Chinese · Arabic · Hindi · and more


⭐ Support This Project

WPF HexEditor is 100% free and open source (Apache 2.0) — free for personal and commercial use.

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! 🙏


🤝 Contributing

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

📝 License

Apache License 2.0 — free for personal and commercial use. See LICENSE for details.


📧 Contact & Support



✨ 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
V1 Contributors: ehsan69h, Janus Tida

Coded with ❤️ for the community! 😊🤟 (with a touch of AI magic ✨)


🚀 Quick Start📖 Tutorial📊 Features📝 Changelog⭐ Star Us