Memos vs Flatnotes: Quick Notes Apps Compared
Quick Verdict
Memos and Flatnotes solve the same itch — quick note capture — but they disagree about what a note is. Memos treats notes like tweets: short, tagged, timestamped, searchable through an API. Flatnotes treats notes like files: each one is a plain .md file on disk, no database, no lock-in. Pick Memos if you want fast microblog-style capture with tagging and an API. Pick Flatnotes if you want your notes as portable markdown files you can open in any editor.
Overview
Memos is a lightweight, self-hosted memo hub built with Go and React. It looks and feels like a personal Twitter timeline — you type a thought, tag it, and it lands in a reverse-chronological feed. Behind the scenes, it stores everything in SQLite (or optionally PostgreSQL/MySQL) and exposes a full REST API. It has grown a sizable community since launching in 2022 and ships frequent updates.
Flatnotes is a no-frills markdown note-taking app built with Python (Flask). Its defining feature is the storage model: every note is a plain .md file in a folder. No database. No proprietary format. You can browse your notes with Flatnotes, edit them in VS Code, or sync them with Syncthing — they are just files. It includes both a WYSIWYG editor and a raw markdown editor, plus full-text search.
Feature Comparison
| Feature | Memos | Flatnotes |
|---|---|---|
| Architecture | Go + React SPA | Python (Flask) + JS frontend |
| Storage backend | SQLite / PostgreSQL / MySQL | Flat .md files on disk |
| Note format | Short-form memos (tweet-style) | Full markdown documents |
| Editor | Inline composer with markdown shortcuts | WYSIWYG + raw markdown toggle |
| Tagging | Built-in tag system with #tag syntax | Tag support via YAML frontmatter |
| Search | Full-text search + filter by tag/date | Full-text search across all notes |
| API | Full REST + gRPC API | Basic REST API |
| Authentication | Built-in user accounts, SSO support | Username/password, TOTP 2FA |
| Multi-user | Yes — multiple accounts with visibility controls | Single-user by design |
| Mobile experience | Responsive PWA, third-party mobile apps | Responsive web UI |
| Attachments | Image and file uploads | No native attachment support |
| Data portability | Export required (JSON/API) | Notes are already plain files — just copy the folder |
| License | MIT | MIT |
| Docker image size | ~80 MB | ~120 MB |
| RAM usage (idle) | ~50 MB | ~30 MB |
Docker Compose Setup
Memos
Create a docker-compose.yml:
services:
memos:
image: neosmemo/memos:0.24.4
container_name: memos
ports:
- "5230:5230"
volumes:
# Stores SQLite database, uploaded assets, and config
- memos_data:/var/opt/memos
environment:
# Metric collection — disable if you prefer
- MEMOS_METRIC=false
restart: unless-stopped
volumes:
memos_data:
Start it:
docker compose up -d
Open http://your-server:5230. The first user to register becomes the admin. That is the entire setup — Memos ships with an embedded SQLite database so there are no dependencies to configure.
Flatnotes
Create a docker-compose.yml:
services:
flatnotes:
image: dullage/flatnotes:5.4.2
container_name: flatnotes
ports:
- "8080:8080"
volumes:
# Your notes live here as plain .md files
- flatnotes_data:/data
environment:
# REQUIRED: set a username and password for login
- FLATNOTES_AUTH_TYPE=password
- FLATNOTES_USERNAME=admin
- FLATNOTES_PASSWORD=changeme # Change this immediately
- FLATNOTES_SECRET_KEY=supersecretkey # Used for session signing — generate a random string
restart: unless-stopped
volumes:
flatnotes_data:
Start it:
docker compose up -d
Open http://your-server:8080 and log in with the credentials you set. Notes are stored as .md files inside the /data volume. You can mount a host directory instead of a named volume if you want direct file access:
volumes:
- /path/to/your/notes:/data
This lets you edit notes from the command line, sync them with Syncthing, or back them up by copying a folder.
Installation Complexity
Both are single-container deployments with no external dependencies. Memos requires zero configuration — launch it and register. Flatnotes requires setting a username, password, and secret key via environment variables, but nothing else.
Edge to Memos on initial setup simplicity. Edge to Flatnotes on long-term simplicity — there is no database to maintain, back up, or migrate.
Data Portability
This is the most important difference between these two apps, and likely the deciding factor.
Flatnotes stores every note as a standalone .md file. There is no database, no proprietary schema, no export step. Your notes directory is your backup. You can:
- Open notes in any text editor
- Sync them across machines with Syncthing or rsync
- Search them with
grep - Version-control them with Git
- Switch to a different app without any migration
Memos stores everything in a SQLite database (or PostgreSQL/MySQL if configured). To get your notes out, you use the API or the built-in export feature. The data is accessible, but it requires a deliberate export step — your notes are not individual files on disk.
If data portability and vendor independence matter to you, Flatnotes wins decisively. If you prefer the convenience of a database-backed app with richer querying, Memos is the stronger choice.
Performance and Resource Usage
Both apps are lightweight enough to run on a Raspberry Pi.
| Metric | Memos | Flatnotes |
|---|---|---|
| Idle RAM | ~50 MB | ~30 MB |
| CPU at idle | Negligible | Negligible |
| Disk footprint | ~80 MB (image) + DB size | ~120 MB (image) + note files |
| Startup time | ~2 seconds | ~3 seconds |
Neither app will stress any hardware made in the last decade. Flatnotes uses slightly less memory. Memos has a smaller image. In practice, both are invisible on a server running anything else.
Community and Support
| Aspect | Memos | Flatnotes |
|---|---|---|
| GitHub stars | 36,000+ | 1,300+ |
| Release cadence | Frequent (multiple releases per month) | Moderate (every few months) |
| Contributors | 100+ | Small team (primarily one developer) |
| Documentation | Official docs site, community guides | README + basic docs |
| Third-party ecosystem | Mobile apps, browser extensions, integrations | Minimal |
Memos has a significantly larger community, faster development velocity, and a broader ecosystem of integrations. Flatnotes is a focused, stable tool maintained by a smaller team. If you want active development and community support, Memos leads. If you want simplicity and stability, Flatnotes delivers.
Use Cases
Choose Memos If…
- You want a personal Twitter-style feed for capturing thoughts, links, and snippets
- You need multi-user support with visibility controls (public/private memos)
- You want an API to integrate with other tools or automation workflows
- You prefer tagging and filtering over organizing notes into folders
- You want image and file attachment support
- You want a mobile-friendly PWA or third-party app
Choose Flatnotes If…
- You want your notes stored as plain markdown files with zero lock-in
- You already have a workflow around
.mdfiles (VS Code, Obsidian vault, Git) - You want to sync notes with Syncthing, rsync, or any file-based tool
- You prefer a single-user, no-frills experience
- You want the simplest possible backup strategy (copy a folder)
- You care more about long-term portability than features
Final Verdict
These apps target different philosophies more than different use cases. Memos is a capture tool — optimized for speed, short-form input, and retrieval through tags and search. It feels like a private microblog. Flatnotes is a file-first note tool — optimized for portability, transparency, and integration with file-based workflows.
For most people who just want a quick self-hosted scratchpad, Memos is the better experience. The timeline interface is fast, tagging is intuitive, and the API opens up automation possibilities. The database backend is a reasonable trade-off for the richer feature set.
If you have strong opinions about owning your data as plain files, Flatnotes is the obvious pick. No export needed, no migration headaches, no database to corrupt. Your notes are files. That simplicity is worth more than any feature comparison table.
Pick the one that matches how you think about notes — as entries in a feed, or as files in a folder.
Related
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.