Model or dataset
Ahmet-Dedeler/ai-llm-comparison avatar
Ahmet-Dedeler/ai-llm-comparison

ai-llm-comparison and the file its prices come from

A website where you can compare every AI Model ✨

425 stars45 forksTypeScriptMIT

At a glance

What is it?
A Next.js site for comparing LLM pricing across named providers, fed by a fetched LiteLLM dataset rather than a live query. The useful parts are the data pipeline sitting in the repository root and the two places where the written setup and the package manifest disagree.
Who is it for?
Worth running locally if you want the underlying price and context window data as a file you can read, diff or script against, rather than rankings you are meant to trust. Not worth adopting if you need benchmarks, since the site compares published prices and nothing in the repository claims to measure model quality.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 3, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The prices are a fetched file, not a live query

The single most useful thing in this repository is not the interface. It is the shape of the data path, which is visible in three root entries: fetchLatestJson.js, transformModels.js and model_prices_and_context_window.json. Model data is fetched from BerriAI's LiteLLM, transformed, and left as a JSON file in the repository, and the comparison pages read that file. The name of the JSON is the clearest statement of scope in the project, since it carries prices and context windows and nothing else. That also frames the Real-time Data claim in the feature list: what refreshes is the upstream dataset, and the artifact you can inspect locally is a snapshot sitting in the root. Nothing in the visible documentation explains when the fetch runs, whether it runs on a schedule from the .github directory, or whether a stale file is silently served, so if you plan to quote numbers from the site, check the date on the JSON yourself before trusting a page. The audiences named for it are developers picking a cost-effective model, businesses comparing solutions per use case, researchers watching pricing trends and students learning the specifications, and the README carries a block of SEO keywords for the same reason: the page is built to be found and read rather than queried.

The docs ask for Node 18 and the manifest asks for 24

The installation path is four steps, and the first one already contains a conflict. The prerequisites say Node.js 18+ with npm or yarn, while package.json names an engines field of node 24.x, which is a tighter requirement than the prose admits. The clone and run commands are these:

bash
git clone https://github.com/Ahmet-Dedeler/ai-llm-comparison.git
cd ai-llm-comparison
bash
npm install
bash
npm run dev

Then the site is at http://localhost:3000. Note that the clone step names no branch, and the default branch here is master rather than main, so a plain clone gets you whatever that branch holds. The engines field is the one to obey, because it is what a runtime or a CI image will check, while the prerequisites line is prose that a dependency bump can outrun. If you are pinning a Node version for this project, pin 24 and treat the 18 in the README as stale.

Next 14 in the stack list, Next 15 in the dependencies

The stack section names Next.js 14 as the React framework for production, and the manifest depends on next at 15.5.24 or newer with react and react-dom at 19.3.0 or newer. That gap is the same kind of documentation drift as the Node version, and it matters more, because Next 15 changed defaults that a page built for 14 will notice. The rest of the stack list is more stable than the headline number: TypeScript, Tailwind CSS at 3.4.12, Radix UI primitives, Vercel Analytics for performance monitoring and PostHog for product analytics, which appear in the manifest as @vercel/analytics and posthog-js. What the comparison interface is actually made of shows up in the Radix packages: checkbox, select, popover, radio group, tooltip and label, which is the component vocabulary of a filterable table with per-model selectors. Styling runs through Tailwind with tailwindcss-animate and class-variance-authority, and components.json plus shadcn-ui place the project in the shadcn setup, with lucide-react for icons and next-themes for the light and dark switch. One dependency detail is easy to misread: shadcn-ui sits in the runtime dependencies while @shadcn/ui sits in the dev dependencies, so the two names are not interchangeable if you are pruning the manifest.

Three bundle analysis entry points behind one build

The script list is short and says more about priorities than a features page would. dev runs next dev, build runs next build, start runs next start, and then there are three analysis variants. Setting ANALYZE=true runs next build, while BUNDLE_ANALYZE=server and BUNDLE_ANALYZE=browser run the same build twice more, scoped to the server bundle and the browser bundle, with @next/bundle-analyzer in the dev dependencies to do the drawing. Three ways to look at bundle size for a site whose main job is rendering a comparison table is a deliberate amount of attention, and it is consistent with a root file called PERFORMANCE_OPTIMIZATIONS.md. That file is not linked from the README, so what it recommends is not visible from the documentation. autoprefixer, critters and tailwind-merge in the dependency list point the same direction, at vendor prefixing, critical CSS handling and class deduplication, but the repository does not say how they are wired into next.config.mjs. What the script list does not contain matters as much: there is no test command, no lint command and no typecheck entry, so nothing in package.json runs a check on your changes before a build. For a project whose output is a table of numbers, that is a thin safety net, and it is worth adding your own check on the transform step if you fork it.

Five provider families are named, and the promise is wider

The supported provider list names OpenAI with GPT-4 and GPT-3.5 among others, Anthropic with Claude models, Google with Gemini and PaLM, Meta with Llama models and Cohere with Command models, and then adds that there are many more. That gap between the named five and the promise of everything else is the honest limit of what the documentation gives you, and it is worth noticing that the Google entry still lists PaLM alongside Gemini. Since the underlying data is LiteLLM's, breadth is a property of that upstream file rather than of this code, which is another argument for reading the JSON directly. The feature list pairs the pricing view with a pricing calculator that costs out your own usage patterns and a versus view for side-by-side comparison, so the site is built for a purchase decision rather than for evaluation: choose the cheapest model that fits the context window you need. Context window is the second axis, and it comes from the same file as the price, which is the practical reason to read the JSON rather than the page.

No registration, no releases, and a private package

Three signals tell you what kind of artifact this is. It is described as completely free with no registration required, so there is no account layer to work around when you open it. The package is marked private at version 0.1.0, so it is not published to a registry and npm install is only meaningful after you have cloned it. And the repository has no GitHub releases at all, so there is no tagged history to pin, even though the last commit landed on 2026-09-30. The project's own framing is a community one: it is listed as featured on Product Hunt and as built for a Supabase Week 12 Hackathon, with contact through a Twitter account, the llmarena.ai site and the GitHub account. For a fork, that means the fast path is clone and npm install, and that you own the upgrade decisions, since nothing is being versioned for you. The scope claim also arrives twice at different strengths, with the repository description promising a place to compare every AI model and the README promising all providers in one place, while the provider list that follows names five. Read the JSON before you repeat either claim.

Two root documents the README never mentions

A few root entries have no explanation anywhere in the visible documentation, and they are the first place to look before you rely on the site. LEARN.md sits next to PERFORMANCE_OPTIMIZATIONS.md as a learning-oriented document of unknown scope, and only CONTRIBUTING.md is actually linked. The rest of the layout is conventional Next.js: app for routes, components for the interface, lib for helpers, public for static files, with tailwind.config.ts, postcss.config.mjs, next.config.mjs and tsconfig.json as configuration and a .vscode directory for editor setup. What you cannot learn from this repository is the operational half: there is no documented rate limit on the fetch script, no stated cache policy for the JSON, no explanation of who can submit a correction to a price, and no note on whether the hosted site and your local copy drift apart. If any of those matter to you, the answers are in the issues tracker rather than in the code you can read.

Editorial conclusion

Worth running locally if you want the underlying price and context window data as a file you can read, diff or script against, rather than rankings you are meant to trust. Not worth adopting if you need benchmarks, since the site compares published prices and nothing in the repository claims to measure model quality. Before you start, settle the version drift yourself: the README asks for Node 18 and names Next.js 14 while the manifest asks for node 24.x and depends on Next 15, so pick the manifest and expect the documented prerequisites to be behind it.

Frequently asked questions

Where does llmarena.ai get its model prices?

From BerriAI's LiteLLM. The repository carries a fetch script, a transform script and model_prices_and_context_window.json at the root, so the data path is a file rather than a live API call.

Do I need an account to use llmarena.ai?

No. The site is described as completely free with no registration required, and it is open source with the full source available on GitHub.

What does the versus view in ai-llm-comparison compare?

It provides side-by-side model comparisons, alongside a price comparison across major providers and a pricing calculator that costs out your own usage patterns.

Which providers does ai-llm-comparison list?

OpenAI with GPT-4 and GPT-3.5, Anthropic with Claude models, Google with Gemini and PaLM, Meta with Llama models, and Cohere with Command models, followed by a stated many more.

What do I need to run ai-llm-comparison locally?

Node.js with npm or yarn, then clone the repository, run npm install and npm run dev, and open http://localhost:3000. The README says Node.js 18 or newer while the package manifest asks for node 24.x.

Official sources

  1. Ahmet-Dedeler/ai-llm-comparison on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ahmet-dedeler-ai-llm-comparison.svg)](https://hysenlabs.com/projects/ahmet-dedeler-ai-llm-comparison)