Arjo.UmbracoVisualEditor
18.0.0-beta.2
dotnet add package Arjo.UmbracoVisualEditor --version 18.0.0-beta.2
NuGet\Install-Package Arjo.UmbracoVisualEditor -Version 18.0.0-beta.2
<PackageReference Include="Arjo.UmbracoVisualEditor" Version="18.0.0-beta.2" />
<PackageVersion Include="Arjo.UmbracoVisualEditor" Version="18.0.0-beta.2" />
<PackageReference Include="Arjo.UmbracoVisualEditor" />
paket add Arjo.UmbracoVisualEditor --version 18.0.0-beta.2
#r "nuget: Arjo.UmbracoVisualEditor, 18.0.0-beta.2"
#:package Arjo.UmbracoVisualEditor@18.0.0-beta.2
#addin nuget:?package=Arjo.UmbracoVisualEditor&version=18.0.0-beta.2&prerelease
#tool nuget:?package=Arjo.UmbracoVisualEditor&version=18.0.0-beta.2&prerelease
Umbraco Visual Editor
The Visual editor lets editors change Umbraco content on the page itself. It adds a Visual editor tab to documents that shows your real front end, including changes that aren't saved yet. Editors can:
- edit text and rich text in place on the page;
- select, move, add, duplicate, copy and delete blocks (Block List and Block Grid);
- edit anything else with Umbraco's own property editors, in a side panel beside the page.
Saving and publishing work as they do in the Content tab. Nothing about your document types or templates has to change.
Which version
Install the package version that matches your Umbraco version's major:
| Umbraco | UmbracoVisualEditor |
|---|---|
| 18.x | 18.x |
| 17.x | 17.x |
Install
dotnet add package Arjo.UmbracoVisualEditor
Run the site and open a document that has a template: it gets a Visual editor tab next to Content.
Configure (optional)
By default the Visual editor is offered for every document type with a template. To limit it, add a VisualEditor section to appsettings.json:
{
"VisualEditor": {
"Enabled": true,
"AllowedDocumentTypes": ["contentPage", "home"],
"ExcludedDocumentTypes": ["errorPage"]
}
}
Templates
The Visual editor reads your templates as they are: models, partials, view components, block views and cached partials. Blocks are recognised by the view that renders them, whether it gets the block or its element. For markup a loop writes itself, with no view per block, there's a helper:
@using UmbracoVisualEditor
@foreach (var block in Model.Cards)
{
var card = (Card)block.Content;
using (Html.VisualEditorBlock(block))
{
<article class="card"><h3>@card.Heading</h3></article>
}
}
Outside the Visual editor, the helper writes nothing.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.OpenApi (>= 10.0.11)
- Umbraco.Cms.Api.Common (>= 18.2.0 && < 19.0.0)
- Umbraco.Cms.Api.Management (>= 18.2.0 && < 19.0.0)
- Umbraco.Cms.Web.Common (>= 18.2.0 && < 19.0.0)
- Umbraco.Cms.Web.Website (>= 18.2.0 && < 19.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 18.0.0-beta.2 | 38 | 9/28/2026 |
| 17.0.0-beta.2 | 38 | 9/28/2026 |