flatnotes is a free, open source documentation & knowledge base project written in Vue and released under MIT. It has 3,224 GitHub stars, 214 forks and 124 open issues, and was last pushed 20 days ago. On this registry it ranks #33 of 40 tracked projects in Documentation & Knowledge Base, with 5 head-to-head comparisons available.

What is flatnotes?

flatnotes is a self-hosted, database-less note-taking web app that keeps every note as a Markdown file in a flat folder, built for individuals and small teams who want a browser-based editor without handing ownership of their notes to a hosted service.

What it is

flatnotes is an open-source note-taking application written in Vue and licensed under MIT, distributed primarily as a Docker image. It presents a mobile responsive web interface for writing and searching notes, and it stores those notes as plain Markdown files in a single flat folder. There is no database. The full-text search index is built with Whoosh, a pure Python search engine library, and the in-browser editing experience comes from TOAST UI Editor, which provides GitHub Flavored Markdown and WYSIWYG modes.

The concrete problem it solves is note lock-in. Database-backed and proprietary note applications hold content in stores that require exports and migrations, and they impose their own formatting and folder structures. flatnotes replaces that store with the filesystem: your notes are just markdown files, with no proprietary formatting and no complicated folder structure. The only thing flatnotes caches is the search index, and that is incrementally synced on every search and when flatnotes first starts. Because of that, markdown files can be added, edited, and deleted outside flatnotes even while it is running, and the files can be moved elsewhere to another app at any point.

Key capabilities

  • Raw and WYSIWYG markdown editor modes, provided by TOAST UI Editor.
  • Wikilink support for linking between notes, written as [[My Other Note]].
  • Note tagging alongside advanced search functionality, with full-text search reachable from anywhere in the app using the / keyboard shortcut.
  • Multiple authentication options: none, read-only, username/password, and 2FA.
  • A RESTful API, with details published in the project wiki.
  • Customisable home page, light and dark themes, and a mobile responsive interface.
  • A deliberately distraction-free design with no folders or notebooks: all notes sit in a flat list backed by search and tagging.

Who uses it and how

  • Self-hosters running the container dullage/flatnotes:latest with a data volume such as ./data:/data, optionally splitting out the search index with ./index:/data/.flatnotes.
  • People who write or edit notes with other tools, since markdown files stay editable outside flatnotes while it runs and the search index re-syncs.
  • Deployments that need to expose a note collection to readers without granting write access, using the read-only authentication type.
  • Private or shared deployments that require access control, configured through FLATNOTES_AUTH_TYPE with username/password or 2FA.
  • Users who would rather not operate Docker at all, using the PikaPods hosted option.

Getting started

The recommended self-hosted route is Docker, either a docker run of dullage/flatnotes:latest or an equivalent compose file configuring PUID, PGID, FLATNOTES_AUTH_TYPE, FLATNOTES_USERNAME, FLATNOTES_PASSWORD, FLATNOTES_SECRET_KEY, and port 8080. A hosted alternative is PikaPods, which resets its demo site every 15 minutes.

How it compares

The facts list no paid products that flatnotes replaces and name no directly comparable note-taking tools; the two credited projects, Whoosh and TOAST UI Editor, are dependencies rather than rivals. On this registry page it stands alone.

When to use it — and when not to

A self-hoster must run a container with a persistent volume and set configuration including FLATNOTES_SECRET_KEY and the chosen authentication credentials, but there is no database to run, back up, or migrate, which is the entire point. Skip it if nested folders or notebooks are required, because the design intentionally omits hierarchy and the roadmap explicitly limits new features to keep the app simple and distraction-free. It is also a poor fit for anyone who wants a hands-off managed service with no container to operate; the repository last received a push on 2026-08-29 and carries 124 open issues.

project readme (upstream, from github) — read inline

Docker Pulls

A self-hosted, database-less note-taking web app that utilises a flat folder of markdown files for storage.

Log into the demo site and take a look around. Note: This site resets every 15 minutes.

Contents

Design Principle

flatnotes is designed to be a distraction-free note-taking app that puts your note content first. This means:

  • A clean and simple user interface.
  • No folders, notebooks or anything like that. Just all of your notes, backed by powerful search and tagging functionality.
  • Quick access to a full-text search from anywhere in the app (keyboard shortcut "/").

Another key design principle is not to take your notes hostage. Your notes are just markdown files. There's no database, proprietary formatting, complicated folder structures or anything like that. You're free at any point to just move the files elsewhere and use another app.

Equally, the only thing flatnotes caches is the search index and that's incrementally synced on every search (and when flatnotes first starts). This means that you're free to add, edit & delete the markdown files outside of flatnotes even whilst flatnotes is running.

Features

  • Mobile responsive web interface.
  • Raw/WYSIWYG markdown editor modes.
  • Advanced search functionality.
  • Note "tagging" functionality.
  • Customisable home page.
  • Wikilink support to easily link to other notes ([[My Other Note]]).
  • Light/dark themes.
  • Multiple authentication options (none, read-only, username/password, 2FA).
  • Restful API.

See the wiki for more details.

Getting Started

Hosted

A quick and easy way to get started with flatnotes is to host it on PikaPods. Just click the button below and follow the instructions.

PikaPods

Self Hosted

If you'd prefer to host flatnotes yourself then the recommendation is to use Docker.

Example Docker Run Command

docker run -d \
  -e "PUID=1000" \
  -e "PGID=1000" \
  -e "FLATNOTES_AUTH_TYPE=password" \
  -e "FLATNOTES_USERNAME=user" \
  -e 'FLATNOTES_PASSWORD=changeMe!' \
  -e "FLATNOTES_SECRET_KEY=aLongRandomSeriesOfCharacters" \
  -v "$(pwd)/data:/data" \
  -p "8080:8080" \
  dullage/flatnotes:latest

Example Docker Compose

version: "3"

services:
  flatnotes:
    container_name: flatnotes
    image: dullage/flatnotes:latest
    environment:
      PUID: 1000
      PGID: 1000
      FLATNOTES_AUTH_TYPE: "password"
      FLATNOTES_USERNAME: "user"
      FLATNOTES_PASSWORD: "changeMe!"
      FLATNOTES_SECRET_KEY: "aLongRandomSeriesOfCharacters"
    volumes:
      - "./data:/data"
      # Optional. Allows you to save the search index in a different location: 
      # - "./index:/data/.flatnotes"
    ports:
      - "8080:8080"
    restart: unless-stopped

See the Environment Variables article in the wiki for a full list of configuration options.

Roadmap

I want to keep flatnotes as simple and distraction-free as possible which means limiting new features. This said, I welcome feedback and suggestions.

Contributing

If you're interested in contributing to flatnotes, then please read the CONTRIBUTING.md file.

Sponsorship

If you find this project useful, please consider buying me a beer. It would genuinely make my day.

Sponsor

Thanks

A special thanks to 2 fantastic open-source projects that make flatnotes possible.

  • Whoosh - A fast, pure Python search engine library.
  • TOAST UI Editor - A GFM Markdown and WYSIWYG editor for the browser.

Frequently asked questions

Is flatnotes free to use?

flatnotes is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does flatnotes do?

A self-hosted, database-less note taking web app that utilises a flat folder of markdown files for storage.

What is flatnotes written in?

flatnotes is primarily written in Vue. Its source is publicly available at https://github.com/dullage/flatnotes, and it has 3,224 GitHub stars.