Both sit in the observability & evals layer with similar commercial terms, so the practical split is language: Arize Phoenix targets Python and promptfoo targets Python.
OpenTelemetry-native tracing and evals you can run locally.
Local eval and red-team harness that runs in CI. No account needed.
Its red-team mode doubles as your prompt-injection regression suite.
| Arize Phoenix | promptfoo | |
|---|---|---|
| Licence | Open source | Open source |
| Pricing | open source | open source |
| Self-hostable | Yes | Yes |
| Languages | Python, TypeScript | TypeScript, Python |
| Install | pip install arize-phoenix | npm install -g promptfoo |
| Keys required | None | None |
Both sit in the observability & evals layer with similar commercial terms, so the practical split is language: Arize Phoenix targets Python and promptfoo targets Python. Arize Phoenix: OpenTelemetry-native tracing and evals you can run locally. promptfoo: Local eval and red-team harness that runs in CI. No account needed.
Arize Phoenix can run on your own infrastructure. promptfoo can run on your own infrastructure.
Arize Phoenix is open source (open source). promptfoo is open source (open source).
Every page here answers to Accept: text/markdown and returns the same content at roughly a tenth the tokens. No separate site, no toggle — same URL.
curl -s -H "Accept: text/markdown" https://newagent.build/compare/phoenix-vs-promptfoo