MintedTextEditor - A Rich Text Editor for .NET MAUI

MintedTextEditor - A Rich Text Editor for .NET MAUI

Table of Contents

Background

After shipping KumikoUI, I kept thinking about rich text editing in MAUI. The paid options exist but carry the same suite-license overhead that motivated KumikoUI. The free options are thin and there is not much in between.

The result is MintedTextEditor.

A Free Rich Text Editor for MAUI

MintedTextEditor is a rich text editor for .NET MAUI. Fully canvas-drawn using SkiaSharp, no native text editor controls underneath. Consistent, pixel-perfect output across iOS, Android, macOS Catalyst, and Windows.

It is MIT licensed and free.

Library

NuGet

Source Code

GitHub

Why I Made This

The paid rich text editor options for MAUI come bundled with suite licenses. You pay for the whole suite whether you need one control or twenty. For smaller or independent projects, that math does not work.

The free options are mostly wrappers around platform WebViews or very limited native inputs. They work for basic cases, but break down quickly once you need real formatting, tables, images, theming, or consistent cross-platform behavior.

I wanted something with the full feature set that did not require a license to ship. Since nothing fit that description, I built it.

Going canvas-drawn means owning the entire visual stack. Everything from paragraph alignment to inline images is rendered the same way on every platform. The rendering is abstracted behind an IDrawingContext interface, and MintedTextEditor.Core has no dependency on MAUI or SkiaSharp, so bringing this to Blazor or UNO means writing a new drawing backend, not rewriting the editor.

What It Supports

  • Character Formatting Bold, italic, underline, strikethrough, subscript, superscript, font family, font size, text color, and highlight.

  • Paragraph Formatting Alignment, indentation, line spacing, headings, ordered and unordered lists, and block quotes.

  • Inline Content Hyperlinks, images, and tables.

  • Editing Caret navigation, selection, clipboard, and undo/redo.

  • HTML Import and Export Load a document from HTML, edit it, and get HTML back out.

  • Theming Built-in light, dark, and high contrast themes. Custom themes are supported. Dark mode is handled automatically.

  • Accessibility Localization support including RTL scenarios.

  • Toolbar Icon Packs Three embedded icon packs: Lucide, Heroicons, and Material Symbols. No asset setup required. Icons recolor automatically at draw time to match the active theme.

Getting Started

dotnet add package MintedTextEditor.Maui
// MauiProgram.cs
builder.UseMintedTextEditor();
<minted:MintedEditorView
    x:Name="Editor"
    ShowToolbar="True"
    PlaceholderText="Start typing..." />
Editor.LoadHtml("<p>Hello <strong>world</strong></p>");
string html = Editor.GetHtml();

Full setup, configuration, and API documentation is in the docs folder of the repository.

Try It

The packages are on NuGet at nuget.org. The code is on GitHub at TheEightBot/MintedTextEditor. The sample app in samples/SampleApp.Maui covers every feature area if you want to see it in action before committing to it.

If you run into bugs or have a feature request, open an issue.

Related Posts

TychoDB - A Simple Document Database for .NET

TychoDB - A Simple Document Database for .NET

The Problem Have you ever wanted something like Azure Cosmos DB, but for your mobile or desktop application? That ability to just throw objects at a database without worrying about schemas, migrations, or table definitions? I certainly have. And after years of looking for a solution that fit my needs, I ended up building one.

Read More
XAML in 2026: Time to Move On

XAML in 2026: Time to Move On

XAML in 2026: Time to Move On The Uncomfortable Truth I have been working with XAML since the early days of WPF. It has been the standard way to build UIs in the Microsoft ecosystem for nearly two decades. But here we are in 2026, and I think it is time to have an honest conversation about whether XAML still makes sense for new .NET MAUI projects.

Read More
Quick Tip - Accessing The Service Provider in .NET MAUI

Quick Tip - Accessing The Service Provider in .NET MAUI

Better Service Resolution in .NET 8 In .NET MAUI we have very good access to dependency injection and primary constructors which makes things like the following very easy.

Read More