v0.37.0 · free & open source · /minn-admin/

The WordPress admin
you'll actually want to open.

A modern, minimal dashboard served at /minn-admin/: a single-page app on the WordPress REST API. No React, no build step, one vanilla-JS file. It lives right alongside classic wp-admin.

No React No build step Zero external requests wp-admin stays intact No admin notices, ever
yoursite.com/minn-admin/
Minn Admin dashboard Minn Admin dashboard, light theme
1
vanilla-JS file, no framework, no bundler
0
external requests. Bundled fonts, fully private
extensible. Any plugin adds a view with one filter
Everything, rebuilt

The whole admin, reconsidered from the ground up.

Every surface you reach for daily, made fast and legible. Built entirely on the REST API, so it's exactly as capable as WordPress itself.

Overview
Real stat cards, an activity chart and a recent-activity feed: the pulse of your site at a glance.
Comments
Full moderation across pending, approved, spam and trash. Triage a queue in seconds.
Editor
Distraction-free, block-aware writing on native Gutenberg markup: slash commands, autosave, scheduling, groups and columns that open for typing, and galleries and sliders you edit as a tile grid.
Content
Posts, pages and custom post types with search, status pills and pagination in one clean list.
Media
Grid or list library with drag-and-drop uploads and a preview overlay you can page through by arrow key.
Users
Create, edit, assign roles and reset passwords, plus per-user login sessions with one-click sign-out.
Extensions
Activate, deactivate, delete and bulk-update plugins without leaving the dashboard. Their admin notices arrive as a quiet digest you can hide, never banners across your screen.
EcommerceWooCommerce
Orders open as real pages: record payments by hand, itemized refunds, notes, emails, analytics and catalog work without bouncing to wp-admin.
Settings
General, Writing, Reading and Discussion, plus a built-in maintenance mode toggle.
Forms
3 items
Powered by
Surfaces

One place for every job. Not one screen per plugin.

Form entries, email logs, audit trails, redirects, snippets, backups: each is a single calm view. Whichever plugin does that job on your site powers the view through its own APIs, and when more than one is active a switcher appears. The sidebar stays small.

Entries read like mail, not database dumps
Same view from Gravity Forms or Contact Form 7
Actions run through each plugin's own handlers
Plugin library

Your plugins, already wired in.

Minn ships adapters for the plugins WordPress sites actually run: more than one hundred of them. Each reads through the plugin's own API or storage, shows up in the right surface automatically, and needs zero setup. That breadth usually costs privacy (a SaaS dashboard in the middle, your data in someone else's cloud); Minn covers your whole stack from your own server and never phones home. Everything else stays one click away in wp-admin.

See exactly what each integration covers →

Performance
Settings and feature toggles
Page builders
Detected, fenced, templates, edit-in
Block libraries
Designs in the block picker
Block previews
Real front-end styling
Ecommerce
Orders, products, coupons, customers, analytics, subscriptions
Bookings
Appointments, status and customer context
Multisite
Networks, sites and guarded moves
Custom fields
Fields, options pages, field group builder
Events, jobs & podcasts
Their fields, in the editor sidebar
Spam
Settings → Spam cards
Automation
Outgoing requests, search, retry

Don't see yours? Any plugin can register its own surface, panel or provider with one filter: see how.

K

Everything is one keystroke away.

A command palette on every screen, and it finds your content too: type anything and your posts, pages and drafts appear under the command matches, with Enter dropping you straight into the editor.

Search everything you've written, drafts included
Navigate, run actions, publish, update, sign out
Works the same in dark and light
Command palette

Dark & light, done right.

Bundled fonts, both themes remembered per user, and zero external requests. No CDNs, no font servers, no telemetry: Minn ships everything it needs, and nothing about you leaves your server.

Light theme

It doesn't replace wp-admin.

Minn lives alongside the classic dashboard at /minn-admin/. Everything you know stays exactly where it was. This is simply a better front door.

m
/minn-admin/
The reimagined experience
New
/wp-admin/
Classic, still fully available
Intact

Speaks your language.

Twenty-four languages, covering about half of WordPress installs. Every user picks their own, the whole interface follows, and translations arrive as WordPress language packs through the same Updates screen as everything else. Nothing extra to install or maintain.

Minn Admin running in Japanese

Right to left, genuinely mirrored.

Arabic, Hebrew and Persian get an interface that actually moves to the correct side: sidebar, menus, popovers and settings, not a flipped layout left half broken. Addresses, file paths and version numbers stay readable left to right inside the surrounding text, and every count follows its language's own plural rules.

日本語 Español Deutsch Français Português Italiano Nederlands Русский Polski Türkçe فارسی العربية עברית Tiếng Việt Bahasa Indonesia Čeština Svenska 中文 Magyar Dansk English (UK)
Behind the product

Deliberately made. Open to scrutiny.

See who directs Minn, how agent-built releases stay accountable, and the safeguards that make the plugin fit for production sites.

One human sets the directionAustin Ginder owns the product and release decisions. A team of agents handles implementation, testing, documentation and translation.See how Minn gets made Built to be auditedWordPress permissions are enforced on every action, updates are checksum-verified, and the app itself makes no external requests.Read the security story
Up and running in a minute

Install like any other plugin.

01
Drop it in
Clone or download into wp-content/plugins/.
02
Activate
Flip it on from the Plugins screen, no configuration required.
03
Visit /minn-admin/
Also linked from the admin bar and the wp-admin menu. Updates arrive on the WordPress updates screen, served from GitHub Releases and checksum-verified before they install. Then take five minutes with the user guide.
Built to extend

Any plugin adds a view with one filter.

A declarative descriptor, no JavaScript required. Every adapter in the library above uses this same API, and it's open to everyone: surfaces with tabs, detail cards, status cards, actions, bulk actions, schema-driven settings views and setup gates, editor panels, traffic providers, cache purgers, design libraries.

Read the plugin-author guide Follow the shim tutorial
register-view.php
// One filter. That's the whole API.
add_filter( 'minn_admin_surfaces', function( $surfaces ) {
  $surfaces['tickets'] = [
    'label'      => 'Tickets',
    'icon'       => 'inbox',
    'cap'        => 'edit_posts',
    'collection' => [ 'route' => 'acme/v1/tickets' ],
  ];
  return $surfaces;
} );
FAQ

Fair questions.

The ones people actually ask before putting a new admin on a real site.

Does Minn replace wp-admin?

No. Minn is a second front door at /minn-admin/. Classic wp-admin stays fully available, and Minn links you there whenever a job is better done in it. You can use both side by side forever.

What happens if I deactivate or delete it?

Nothing is lost. Minn writes native WordPress data only: real block markup, core options, core users. Deactivate the plugin and your site is exactly as it was, with nothing to migrate and nothing to unwind.

Is Minn available in my language?

Twenty-four languages ship with it, from Japanese and German to Arabic and Vietnamese, covering about half of WordPress installs. Each user picks their own language on their profile, right-to-left languages get a properly mirrored layout, and translations install themselves as WordPress language packs through the normal Updates screen.

Will it work with my plugins?

More than one hundred plugins have adapters that show up automatically with zero setup, and the list grows nearly every release. Plugins without an adapter keep working normally; their screens stay one click away in wp-admin. The supported plugins doc says exactly what each integration covers.

What about page builders?

Safe by design. Posts built with Elementor, Bricks, Divi and friends open read-only in Minn with an edit button that hands you to the builder, because the builder owns that content. Minn never writes to a builder's data.

How do updates arrive?

On the normal WordPress updates screen, served from the project's GitHub releases. Every download is verified against a checksum published with the release before it is allowed to install.

Why isn't it on wordpress.org?

Mostly cadence: Minn has shipped more than twenty releases since July, and the GitHub pipeline sustains that pace while keeping updates on the standard updates screen, checksum-verified. A directory listing may come later.

My security plugin restricts the REST API. Will Minn break?

Almost never. Minn uses the same authenticated, same-origin REST calls the block editor uses, so hardening that blocks anonymous REST traffic leaves it intact. If something does interfere, the System page's health checks name the problem instead of leaving you guessing.

Who can open /minn-admin/?

Only logged-in users your site already trusts to edit content, and each role sees only what wp-admin would allow it. Every action is re-checked on the server through WordPress core's own permissions.

Why can't I find a particular setting?

On purpose. Minn surfaces the settings people change day to day; the long tail deliberately stays in wp-admin, one click away. If a screen you reach for often is missing, open an issue.

What does it cost?

Nothing. Minn Admin is free and MIT licensed, with no Pro tier, no upsells and no nags. If it earns a place in your work, a star or a GitHub sponsorship keeps it moving.

Give WordPress a front door
worth opening.

Free, open source and MIT-licensed. Install it in a minute and never dread the dashboard again.

View on GitHub Download v0.37.0 Try it in Playground