Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Andy Miller 0f9b9f780f
Merge tag '1.7.40' into develop
Release 1.7.40
1 week ago
.github add php 8.2 to test (#3662) 1 month ago
.phan Add a .phan config file and stubs for Phan static analysis 4 years ago
assets Update copyright date 3 months ago
backup Update copyright date 3 months ago
bin Update copyright date 3 months ago
cache Update copyright date 3 months ago
images Update copyright date 3 months ago
logs Update copyright date 3 months ago
system prepare for release 1 week ago
tests fix UtilsTest for PHPUnit 10 1 month ago
tmp Update copyright date 3 months ago
user Update copyright date 3 months ago
webserver-configs Update php-fpm socket file to use generic socket file instead of pinning to version (#3669) 3 months ago
.dependencies Use quark by default 5 years ago
.editorconfig Minor indentation config tweaks 2 years ago
.gitignore Added `.env` and `.gravenv` to gitignore, most likely you don't want them pushed 6 months ago
.htaccess Block `.json` files in web server configs 1 year ago
.travis.yml 🎉 Moved Travis releases builds to Github Actions 🎉 2 years ago prepare for release 1 week ago Updated COC to Contributor Covenant COC v2 2 years ago Remove Gitter, Slack (#2502) 4 years ago
LICENSE.txt Prepare for release 2 years ago Fixed pimple link #3527 1 year ago updated the security email 2 years ago
codeception.yml Updated unit tests 2 years ago
composer.json Update composer.json 1 month ago
composer.lock update packages 1 month ago
index.php Update copyright date 3 months ago
now.json Fixed version history issue 2 years ago
robots.txt Update robots.txt reflecting actual folders (#3625) 4 weeks ago


PHPStan Discord PHP Tests OpenCollective 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:



The full documentation can be found from


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

Upgrading from older version


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]


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


Support Grav with a yearly donation to help us continue development. [Become a sponsor]



Running Tests

First install the dev dependencies by running composer install 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

To run phpstan tests, you should run:

  • composer phpstan for global tests
  • composer phpstan-framework for more strict tests
  • composer phpstan-plugins to test all installed plugins