Dify vs Langflow
Both are catalogued under Workflow & Low-code. The figures come from the GitHub API; the assessments are ours.
At a glance
| At a glance | Dify | Langflow |
|---|---|---|
| License | Source-available | MIT |
| Languages | Python, TypeScript | Python, TypeScript |
| Deployment | Self-hosted / Managed cloud | Self-hosted / Runs locally / Managed cloud |
| Maturity | Established | Established |
| Stars | 153k | 153k |
| Star growth over the last 7 days | +28 ★ | +14 ★ |
| Forks | 24.1k | 9.9k |
| Open issues | 976 | 970 |
| Last commit | 15 Aug 2026 | 16 Aug 2026 |
| Activity | Active | Active |
What each one does
Dify
A complete platform — prompt orchestration, retrieval, agent tools and an admin UI — that non-engineers can operate once a team has set it up. The licence is a modified Apache 2.0 with additional conditions on multi-tenant hosting and branding, so it is source-available rather than open source. Read it before building a product on top.
Full entry →Langflow
Useful for sketching an agent visually and for showing non-engineers what a pipeline actually does, then exporting it as an API. Visual editors get unwieldy as branching grows, so treat it as a design and demo surface rather than the final home for complex logic.
Full entry →What you can do
Dify
- Stand it up with Docker Compose — Running
cp .env.example .envthendocker compose up -din thedocker/directory brings the stack up on a 2-core, 4 GiB machine, with initialization at http://localhost/install. - Build workflows on a canvas — The visual editor chains LLM steps, retrieval and tools into a workflow you can test in place, and the Prompt IDE compares model performance on the same prompt while you tune it.
- Give an agent 50+ tools — Agents can be defined on LLM Function Calling or ReAct and handed built-in tools such as Google Search, DALL·E, Stable Diffusion and WolframAlpha, or custom ones you register.
- Call your apps from your backend — Every Dify offering comes with a corresponding API, and application logs and traces can be routed to Opik, Langfuse or Arize Phoenix for monitoring.
- Take the self-host past the quickstart — Configuration beyond the defaults lives in
docker/.env, with optional advanced variables split by theme underdocker/envs/; for a highly available setup the README hands you off to community-contributed Helm charts, Kubernetes YAML, Terraform and AWS CDK templates in outside repositories.
Langflow
- Build a flow in the browser — uv pip install langflow -U followed by uv run langflow run serves the visual editor at 127.0.0.1:7860, and docker run -p 7860:7860 langflowai/langflow:latest gives the same thing in a container.
- Step through a flow while testing — The interactive playground runs a flow with step-by-step control, which is how you find the node where a branch produces the wrong output.
- Publish a flow as an API or MCP server — A finished flow can be deployed as an API, exported as JSON to embed in a Python app, or served as an MCP server so MCP clients call it as a tool.
- Edit component source in Python — Source code access means a built-in component's Python can be modified directly rather than worked around with adjacent nodes.
- Send traces to existing observability — Built-in integrations forward execution traces to LangSmith, LangFuse and other tools, so flows report into the stack you already run.