Langfuse vs MLflow for LLM and agent apps
Checked 2026-10-20 on each project's own pricing page, docs and repository. Langfuse's prices were last read on 17 Oct 2026. We don't score or rank tools: how we review.
Short answer: Pick MLflow if your team already runs it (or Databricks, SageMaker or Azure ML) for model training and wants LLM tracing and judges in the same system, under Apache-2.0. Pick Langfuse if you want a dedicated LLM platform with a published hosted price, annotation queues and prompt release labels, and you don't need a model registry. Both are free to self-host and both accept OpenTelemetry.
At a glance
| Langfuse | MLflow | |
|---|---|---|
| Licence | MIT outside the ee/ folders; ee/ code under a separate licence [source] | Apache-2.0 [source] |
| Who runs it | Langfuse, part of ClickHouse, Inc. [source] | Open-source project under the Linux Foundation [source] |
| Hosted plan from the maker | Yes: Hobby $0, Core $29/month, Pro $199/month [source] | No; managed MLflow is sold by cloud providers |
| Managed by others | — | Databricks, AWS SageMaker, Azure ML, Nebius, GCP (GKE) [source] |
| Self-hosting | Free; Docker Compose or Kubernetes [source] | Free; single command, Docker Compose or Helm [source] |
| OpenTelemetry | OTel ingestion on all plans [source] | OTel-compatible tracing with GenAI semantic conventions [source] |
| Classical ML tracking and model registry | No | Yes [source] |
Pricing: what you actually pay for
| Langfuse Cloud | MLflow | |
|---|---|---|
| Free option | Hobby: 50k units/month, 30 days data access, 2 users | Self-host the open-source server; you pay for infrastructure |
| Entry paid | Core $29/month: 100k units included, then $8 per 100k (graduated) | No plan from the project; provider pricing (not verified) |
| What is metered | Units: traces, observations and scores | Your own compute, database and storage, or the provider's meter |
| Longer history | 90 days on Core, 3 years on Pro ($199/month) and Enterprise | Your own retention or archival settings |
| Judge model costs | Paid to your model provider | Paid to your model provider |
Features for LLM apps
| Feature | Langfuse | MLflow |
|---|---|---|
| Tracing | Traces, observations (spans, generations, events) | Prompts, retrievals, tool calls and responses |
| LLM-as-a-judge | Evaluators on all plans | Pre-built and custom judges |
| Prompt management | Versions plus release labels | Versioned prompt registry with lineage; automated prompt optimisation |
| Human annotation | Annotation queues (1 Hobby, 3 Core, unlimited Pro) | not verified |
| Datasets and experiments | Dataset versions via SDK/API; experiments in CI | Evaluation datasets and scorers |
| Gateway | not verified | AI Gateway for model access and cost control |
| Storage (self-hosted) | ClickHouse-based, per Langfuse | Relational database (SQLite default, PostgreSQL for scale) plus an artifact store |
Which to pick
- Already on MLflow for model training? Start with MLflow's GenAI features before adding a second system.
- On Databricks, SageMaker or Azure ML? Managed MLflow is the path of least procurement; confirm its LLM features and price with your provider.
- Want a predictable hosted bill from the tool's maker? Langfuse publishes its plans; run your volume through our pricing calculator.
- Need human review queues out of the box? Langfuse lists them on every plan.
- Need a gateway too? MLflow includes an AI Gateway; with Langfuse you would add one separately.
Switching between them
- Instrument with OpenTelemetry so the same spans can go to either backend.
- Send traces to both for a week and compare counts, latency and token totals.
- Recreate judges, prompts and datasets in the target tool; these don't move with traces.
- Leave classical ML experiments and registered models in MLflow; Langfuse does not replace them.
A note on vendor comparisons
Langfuse published its own Langfuse vs MLflow page on 19 Oct 2026. It is written by one of the two vendors and argues for Langfuse. We did not copy its verdicts; every MLflow fact on this page comes from mlflow.org or MLflow's GitHub repository, and where the two disagree (for example, MLflow's docs list SSO support for the self-hosted server) we follow MLflow's own docs.
Related
FAQ
Is Langfuse an alternative to MLflow?
For LLM and agent work, yes: both trace LLM calls, run LLM-as-a-judge evaluations and version prompts. Langfuse does not replace MLflow's classical ML experiment tracking or model registry, so teams that train models often keep MLflow for that and choose separately for the LLM app.
Which is cheaper, Langfuse or MLflow?
Both are free to self-host. For a hosted service, Langfuse publishes its own plans (Hobby free with 50k units a month, Core $29/month with 100k units then $8 per 100k, Pro $199/month). MLflow has no plan from the project itself; managed MLflow is priced by Databricks, AWS, Azure, Nebius or GCP, and we have not verified those rates. The cheaper choice depends on whether you already pay one of those providers.
Which is easier to self-host?
MLflow's smallest setup is a single command with SQLite; production setups use Docker Compose or a Helm chart with PostgreSQL and object storage. Langfuse self-hosts with Docker Compose or Kubernetes and, per Langfuse, runs on ClickHouse for trace storage. MLflow's small setup has fewer moving parts; check each project's production guide for your scale.
Is Langfuse's own MLflow comparison fair?
Langfuse published a Langfuse vs MLflow page on 19 Oct 2026. It is a vendor page and argues for Langfuse; some points (for example how MLflow handles SSO) differ from what MLflow's own docs say. We used it only as a pointer and checked MLflow facts on mlflow.org.
Can I use both?
Yes. Both accept OpenTelemetry traces, so you can export the same spans to both during an evaluation period, or keep MLflow for model training and use Langfuse for the LLM application.
Which has human annotation queues?
Langfuse lists annotation queues on its pricing page (1 on Hobby, 3 on Core, unlimited on Pro). We could not verify a comparable feature on MLflow's docs pages we read, so we mark it not verified.