Skip to main content
net6.0net8.0

A hex editor control for the Avalonia UI framework.

Published
Sep 14, 2025
1y ago
Total Downloads
57.0K
56,952

Install

dotnet add package AvaloniaHex --version 0.1.10
ProductVersions
.NET
net6.0net8.0

README

AvaloniaHex

This is a(n experimental) hex editor control for the Avalonia UI framework.

Features

  • Display binary data in hex, binary, and ASCII. Extensible with custom column rendering.
  • Adjust the displayed bytes per line manually or automatically.
  • Modify binary documents in-place or resize documents dynamically.
  • Support for documents with non-contiguous backing buffers and/or non-zero base addresses. Useful for documents with "gaps" (e.g., memory views).
  • Many style customization options available with default Light and Dark themes.
  • Custom syntax (byte) highlighting.
  • Support for memory mapped files.

Binaries

Quick Start Guide

After installing the AvaloniaHex dependency, add the default control styles to your App.axaml:

<Application xmlns="https://github.com/avaloniaui" ... >
    <Application.Styles>
        ...
        <StyleInclude Source="avares://AvaloniaHex/Themes/Simple/AvaloniaHex.axaml"/>
    </Application.Styles>
</Application>

Then, add the HexEditor control to your window:

<Window
    xmlns:avaloniaHex="clr-namespace:AvaloniaHex;assembly=AvaloniaHex"
    xmlns:rendering="clr-namespace:AvaloniaHex.Rendering;assembly=AvaloniaHex"
    ...>
    
    <avaloniaHex:HexEditor FontFamily="Cascadia Code,JetBrains Mono,Monospace,monospace">
        <!-- Define columns to display -->
        <avaloniaHex:HexEditor.Columns>
            <rendering:OffsetColumn />
            <rendering:HexColumn />
            <rendering:AsciiColumn />
        </avaloniaHex:HexEditor.Columns>
    </avaloniaHex:HexEditor>

</Window>

To display a file in the control, assign the Document property:

HexEditor editor = ...;

editor.Document = new MemoryBinaryDocument(File.ReadAllBytes(@"C:\Path\To\File.bin"));

See examples for more details.

License

MIT

Changes from Previous Version

No structural changes between v0.1.9 and v0.1.10.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.