ElasticVue describes itself as "a free and open-source gui for elasticsearch that you can use to manage the data in your cluster" (README). It is the tool you open to see whether shards are green, delete a stale index, edit one document by hand, or paste a Query DSL body into a REST console. FlatQL is a web and desktop SQL workbench for Elasticsearch and OpenSearch. You type SQL, including joins across indices, and get a grid, a chart, or a 5,000,000-row export. The projects share an audience, engineers who would rather not learn Kibana, and almost nothing else. This page puts their facts next to each other so you can tell which gap you are trying to fill.
Facts side by side#
| ElasticVue | FlatQL | |
|---|---|---|
| Licence | MIT (README) | Proprietary; Free plan, $199 lifetime Pro |
| Forms | Desktop app for Windows, macOS, Linux (recommended); Chrome, Firefox and Edge extensions; web app at app.elasticvue.com; Docker; self-hosted (elasticvue.com) | Web app at flatql.com; desktop app for macOS first (coming soon) |
| Cluster versions | "every version of elasticsearch, even those that are EOL"; full support for 8.x and 7.x (FAQ) | Elasticsearch 6 to 9, OpenSearch 1 to 2 |
| Query language | Query DSL in the REST view; filter, sort and paginate in the document table | SQL with joins, CTEs, window functions; Cluster SQL mode for native SQL endpoints |
| Joins | None | Across indices in the embedded engine, about 50,000 rows per index per statement |
| Cluster admin | Cluster overview, index and alias management, shard management, snapshot and repository management (README) | None |
| Editing documents | Searching and editing documents (README) | Read-only queries; load data into new indices |
| Export | Not listed in the README features | CSV, TSV, JSON, NDJSON, Excel, Parquet streamed to 5,000,000 rows (Pro) |
| Credentials | Stored client-side; connection store persisted by pinia-plugin-persistedstate (source) |
Teams: encrypted server-side, never shown to members. Desktop: OS keychain |
| Read-only mode | "No. Users will always be able to change things by using the REST API" (FAQ) | Production connections read-only by default; per-index read or write roles |
| Telemetry | Update check sends a random UUID only; "does not send data from your elasticsearch cluster to any other service" (privacy) | Query history stored per account; mappings and one sample document per index sent to Ask FlatQL on request |
| Price | Free | Free: 1 cluster, 1 worksheet. Pro: $199 once (pricing) |
Where ElasticVue is the better fit#
ElasticVue is the better choice for anything that changes the cluster. It lists "Index & alias management", "Shard management" and "Snapshot & repository management" among its features (README), and the cluster overview page is a quick way to see node and shard health without a Kibana licence or a login. FlatQL has none of those screens and does not try to.
It is also the better choice for hand-editing a document. The document table supports filtering, sorting and pagination, and the project wiki explains that this was the author's motivation: a "simple table view that features filter, pagination and sorting" (wiki). If your task is "find this record and fix one field", that is a two-minute job in ElasticVue.
Version reach is wider. The README says it "supports every version of elasticsearch, even those that are EOL", with full support for the two latest majors (FAQ). FlatQL covers Elasticsearch 6 to 9 and OpenSearch 1 to 2. A 5.x cluster in a corner of the data centre is ElasticVue territory.
And it is free in every form. The MIT licence covers the desktop builds, the extensions and the Docker image; the Docker variant can even preload cluster entries from an environment variable or a config file (README).
Where FlatQL is the better fit#
FlatQL is the better choice when the question is about the data rather than the cluster. ElasticVue's query surface is Query DSL, pasted into its REST view. FlatQL's is SQL, and the SQL includes the parts Elasticsearch does not have natively:
SELECT org.country,
COUNT(DISTINCT org.name) AS organisations,
SUM(o.amount) AS revenue,
ROUND(SUM(o.amount) / COUNT(DISTINCT org.name), 2) AS revenue_per_org
FROM organizations AS org
JOIN orders AS o ON o.customer_id = org.primary_domain
WHERE org.founded_year >= 2010 AND o.status = 'paid'
GROUP BY org.country
HAVING SUM(o.amount) > 10000
ORDER BY revenue DESC
LIMIT 15;
The two WHERE conjuncts are pushed to the cluster as filters; the join, the HAVING and the arithmetic run in the embedded engine; Show as DSL displays both requests. The engine handles about 50,000 rows per index per statement, so the filters are not decoration. The joins guide spells out the fetch rules.
Export is the second case. ElasticVue's feature list does not include a bulk export, and Kibana's CSV report has a default row limit. FlatQL streams CSV, TSV, JSON, NDJSON, Excel or Parquet to disk as rows arrive, up to 5,000,000 rows, with no in-memory buffering; see exports.
Teams are the third, and here the architectures differ most. ElasticVue runs entirely on your machine: connections, including the username and password, live in the browser's or desktop app's persisted store (source), and the privacy policy says that nothing from your cluster leaves it (PRIVACY.md). That is a clean model for one person. For a team it means every member holds a copy of the cluster credential, and the FAQ notes there is no read-only mode because "Users will always be able to change things by using the REST API" (FAQ). FlatQL teams share one connection whose credential is encrypted server-side and never displayed; an owner grants read or write per index pattern; production connections are read-only by default; every statement is logged with user, connection and duration. The cluster does not need a user per analyst. The model is described in teams and security.
Ask FlatQL rounds it out: an assistant that sees your mappings and one sample document per index, drafts or fixes a statement, and does nothing until you press Run.
Using both#
Most people who try FlatQL keep ElasticVue. Use ElasticVue when you are acting on the cluster: checking shard allocation, closing an index, taking a snapshot, editing a document. Use FlatQL when you are asking the cluster a question with more than one index in it, or when the answer needs to leave as a file.
The desktop story will converge somewhat: FlatQL's desktop app keeps credentials in the OS keychain and reaches localhost and VPN clusters, which is the same local-first setup ElasticVue users like, with a 4-digit PIN lock and optional sync of a connection to the web account. It is not downloadable yet.
If you are weighing other browser-based cluster GUIs, FlatQL vs Elasticsearch Head covers the older Chrome extension and FlatQL vs Cerebro the Scala admin tool. Plans are on the pricing page.