Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS
Latest commit 5e1980d Nov 16, 2018
Failed to load latest commit information.
assets Added empty assets folder Aug 17, 2014
backup Re-add .gitkeep to keep the backup folder. (#1913) Mar 18, 2018
bin Added a new Security CLI command Oct 1, 2018
cache Created a .dependencies and some other install cleanup Aug 7, 2014
images Created a .dependencies and some other install cleanup Aug 7, 2014
logs Created a .dependencies and some other install cleanup Aug 7, 2014
system Prepare for release Nov 12, 2018
tests Fix truncator tests Aug 6, 2018
tmp Added new `tmp` folder at root Aug 23, 2016
user Update (#2245) Nov 3, 2018
webserver-configs PHP 7.2 by default now Aug 16, 2018
.dependencies Use quark by default Dec 29, 2017
.editorconfig Forcing 2 space indentation on all yaml files Sep 25, 2014
.gitignore XSS enhancements Sep 30, 2018
.htaccess [WIP] Web Server Config URL Rewrite Rules White List (#1458) May 6, 2017
.travis.yml PHP 5.6.0 minimum, updated to Doctrine Collections 1.4 Apr 14, 2018 update changelog Nov 12, 2018 Create (#1541) Jun 26, 2017 Update copywriting (#1706) Oct 19, 2017
LICENSE.txt License date update Jan 19, 2018 New Discord reference Nov 15, 2018
codeception.yml Drop default db config from config Jan 5, 2016
composer.json updated composer.json Sep 19, 2018
composer.lock vendor updates Oct 8, 2018
index.php Added `Deprecated` tab to DebugBar to catch future incompatibilities … Aug 24, 2018
robots.txt Update robots.txt (#2043) May 30, 2018


SensioLabsInsight Discord Build Status OpenCollective OpenCollective

Grav is a Fast, Simple, and Flexible, file-based Web-platform. There is Zero installation required. Just extract the ZIP archive, and you are already up and running. It follows similar principles to other flat-file CMS platforms, but has a different design philosophy than most. Grav comes with a powerful Package Management System to allow for simple installation and upgrading of plugins and themes, as well as simple updating of Grav itself.

The underlying architecture of Grav is designed to use well-established and best-in-class technologies to ensure that Grav is simple to use and easy to extend. Some of these key technologies include:



These are the options to get Grav:

Downloading a Grav Package

You can download a ready-built package from the Downloads page on

With Composer

You can create a new project with the latest stable Grav release with the following command:

$ composer create-project getgrav/grav ~/webroot/grav

From GitHub

  1. Clone the Grav repository from to a folder in the webroot of your server, e.g. ~/webroot/grav. Launch a terminal or console and navigate to the webroot folder:

    $ cd ~/webroot
    $ git clone
  2. Install the plugin and theme dependencies by using the Grav CLI application bin/grav:

    $ cd ~/webroot/grav
    $ bin/grav install

Check out the install procedures for more information.

Adding Functionality

You can download plugins or themes manually from the appropriate tab on the Downloads page on, but the preferred solution is to use the Grav Package Manager or GPM:

$ bin/gpm index

This will display all the available plugins and then you can install one or more with:

$ bin/gpm install <plugin/theme>


To update Grav you should use the Grav Package Manager or GPM:

$ bin/gpm selfupgrade

To update plugins and themes:

$ bin/gpm update


We appreciate any contribution to Grav, whether it is related to bugs, grammar, or simply a suggestion or improvement! Please refer to the Contributing guide for more guidance on this topic.

Security issues

If you discover a possible security issue related to Grav or one of its plugins, please email the core team at and we'll address it as soon as possible.

Getting Started

Exploring More


Support Grav with a monthly donation to help us continue development. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]



Running Tests

First install the dev dependencies by running composer update from the Grav root. Then composer test will run the Unit Tests, which should be always executed successfully on any site. Windows users should use the composer test-windows command. You can also run a single unit test file, e.g. composer test tests/unit/Grav/Common/AssetsTest.php