---
title: "Grav CMS"
description: "Grav CMS is a flat-file, database-free content management system built on Markdown files. Learn how it works, its benefits and common use cases."
url: "https://nodea.io/en/glossary/grav-cms"
lang: "en"
updated: "2026-07-13"
---

# Grav CMS

> Grav CMS is a modern, open-source flat-file content management system that stores content in Markdown files instead of a database, making it fast and simple to deploy.

**Grav CMS** is a modern, open-source [content management system](https://nodea.io/en/glossary/cms) that belongs to the flat-file category — meaning it runs without a database. Instead of storing articles and configuration in MySQL tables, Grav keeps everything in plain files: content in Markdown, settings in YAML. Written in [PHP](https://nodea.io/en/glossary/php), it emphasizes speed, simplicity and developer experience, which sets it apart from heavier, database-driven systems like [WordPress](https://nodea.io/en/glossary/wordpress).

## How Grav CMS works

Grav's foundation is a directory structure that mirrors the site structure: each folder under *user/pages* is a single page, and the Markdown file inside holds its content together with metadata (YAML front matter). The system rests on three pillars:

- **Flat-file** — with no database, a backup is simply a copy of a directory, and migrating to another server needs no data export and import.
- **Advanced caching** — Grav aggressively caches rendered pages, so it responds very quickly under modest traffic despite having no database.
- **Modular architecture** — themes built on the Twig templating engine and plugins that extend functionality, installed from a built-in package manager.

## Grav CMS in practice

Grav works best for projects where simplicity and performance matter more than heavy editorial workflows:

1. **Blogs and brochure sites** — quick to stand up, with authors writing comfortably in Markdown.
2. **Technical documentation** — the file-based structure fits perfectly with versioning content in [Git](https://nodea.io/en/glossary/git).
3. **Prototypes and microsites** — with no database to install, deployment is as simple as unpacking an archive on the server.

Running Grav needs only standard [hosting](https://nodea.io/en/glossary/hosting) with PHP support; the absence of a database requirement eases maintenance and improves security, since one common attack vector disappears.

### Does Grav CMS require a database?

No. Grav is a flat-file CMS — it stores all content, configuration and structure in files on disk (mainly Markdown and YAML). It needs no MySQL or other database, which simplifies installation, backups (just copy the directory) and moving the site between servers.

## Related

- [CMS](https://nodea.io/en/glossary/cms)
- [WordPress](https://nodea.io/en/glossary/wordpress)
- [PHP](https://nodea.io/en/glossary/php)
- [Database](https://nodea.io/en/glossary/database)
- [Hosting](https://nodea.io/en/glossary/hosting)

---

Languages: [pl](https://nodea.pl/pl/slownik-pojec/grav-cms.md)  
Site index: [llms.txt](https://nodea.io/en/llms.txt)
