The Grav Admin Plugin is an optional HTML user interface for the Grav flat-file CMS that lets site owners configure Grav and create and edit pages from a browser instead of editing YAML and Markdown files directly. The plugin remains entirely optional; Grav itself works fine without it, and the admin deliberately provides a limited view so power users can still edit configuration files directly.
What is the Grav Admin Plugin?
The plugin is a browser-based administration panel for Grav, a flat-file CMS written in PHP. It takes user input through web forms and editors and writes the result back as Grav-compatible YAML configuration files, Markdown page content, and media assets. Developed by the Grav team, it is installed as a plugin and requires three companion plugins to function: login, forms, and email. The admin panel is accessed at the /admin route of a Grav site and is built for Grav 1.6.7 or later.
Key Features
- User authentication — Login system with automatic password encryption; plaintext passwords are replaced with encrypted hashes after first login.
- Dashboard — Shows maintenance status, site activity, and latest page updates at a glance.
- One-click updates — Updates the Grav core, themes, and plugins with a single click through GPM.
- Page management — Create, edit, move, copy, and delete pages with filtering and search in the page listing.
- Built-in code editor — Syntax-highlighting editor for Markdown with hot keys, toolbar, distraction-free fullscreen, and an instant Grav-powered preview.
- Normal and Expert modes — Edit site and system configuration through forms or directly as YAML.
- Ajax-powered utilities — Backup and clear-cache actions run without a full page reload.
- Plugin and theme managers — List, configure, and install plugins and themes via GPM, including drag-n-drop upload of page media directly into the editor.
Who is the Grav Admin Plugin for?
- Content editors — Create and edit Markdown pages through a visual interface without touching files.
- Site administrators — Manage users, backup the site, clear caches, and run core/theme/plugin updates from the dashboard.
- Developers — Use Expert mode for direct YAML editing, and hook into admin events like onAdminSave and onAdminPageTypes to extend behavior.
What can you do with the Grav Admin Plugin?
- Solo site owners: manage the entire Grav site from a browser, including installing plugins and themes without using the command line.
- Teams without technical staff: let editors maintain page content while admins handle configuration and updates.
- Agencies managing multiple Grav sites: use the backup and update tooling to keep client sites current.
How does the Grav Admin Plugin work?
Installation is done through the Grav Package Manager (GPM) with the command bin/gpm install admin; the plugin automatically pulls in the required login, forms, and email plugins. After installation, create an admin user either via CLI (bin/plugin login new-user) or by placing a YAML account file under user/accounts/. The admin interface then lives at http://yoursite.com/admin.
Pricing
The standard version of the Grav Admin Plugin is free. The Grav team has announced a more feature-rich 'pro' edition that will be paid, but its price is not yet finalized.
FAQ
Is the Grav Admin Plugin required to use Grav?
No. The plugin is optional, and Grav functions fully without it. The admin layer is intentionally limited, and power users can continue editing configuration files directly.
What does the Grav Admin Plugin do?
It provides a browser-based UI for configuring Grav, managing users, creating and editing pages, uploading media with drag-and-drop, updating the core and plugins, and performing backups and cache clears.
How do I install the Grav Admin Plugin?
Install it via GPM using bin/gpm install admin after ensuring you run Grav 1.6.7 or later, then create an admin user either through the CLI or by manually writing an account YAML file.
Can I use the admin plugin to manage multiple sites?
The plugin manages a single Grav site installation. Managing multiple sites requires logging into each site's /admin endpoint separately.





