Diffy vs Argos: Argos Alternative for Websites

Argos is an open-source visual testing platform with a strong developer following. Your tests take the screenshots, Argos compares them with a baseline and posts the result on the pull request. Diffy starts one step earlier: you give it the URLs of a deployed website and it takes the screenshots itself, across production, staging and development. Both tools end with a reviewer looking at highlighted changes. The difference is what has to exist before the first screenshot, and which question each tool is built to answer.

What each tool needs from you

This decides most of what follows, so it’s worth being precise.

Argos compares screenshots that your own tooling produces. It has SDKs for Playwright, Cypress, Puppeteer, WebdriverIO, Vitest and Storybook, and a CLI that uploads a folder of images from any other pipeline. You add a call such as argosScreenshot(page, "homepage") to your tests, run them in CI, and the screenshots are uploaded to Argos. Argos’s docs don’t describe a crawler or a no-code mode. Its own guide to capturing screenshots from URLs is a Playwright, Cypress or Puppeteer script that loops over a list of paths and calls argosScreenshot on each one. That’s a clean model if you already have a test suite, and it means Argos works with whichever browsers your test runner can drive.

Diffy takes the screenshots for you. You create a project in a browser tab, paste the addresses of the pages you care about, pick breakpoints and press a button. Diffy’s workers load each page in Chrome or WebKit and capture it. Logins, elements to hide, content to mock, cookies, headers and a schedule are fields on the project settings page. There’s no repository, no Node install and no test file unless you want one. The CLI, API and GitHub Actions integration are there when you want automation, but you don’t need them to start.

So the first question is what you’re testing. If it’s an application with a Playwright or Cypress suite and developers who own it, Argos fits naturally into that suite. If it’s a Drupal, WordPress or headless website, maintained by an agency or a small team, and the people who want visual testing don’t want to maintain a test suite to get it, read on.

Pricing

Both tools sell screenshots per month, and both count roughly the same unit (one image of one page at one size). The plans are shaped differently, though.

Argos

PlanScreenshots per monthPrice
Hobby5,000$0, for one person
Pro35,000 includedFrom $100/mo
EnterpriseCustomCustom

On Pro, extra screenshots cost $0.004 each, or $0.0015 each for Storybook screenshots captured with the Argos Storybook or Vitest SDK. Hobby has no overage: uploads pause until the next billing period. Hobby allows commercial use and private repositories, but it’s a personal account. Team collaboration and notifications to Slack, Microsoft Teams or Discord start at Pro. GitHub SSO ($50/mo) and SAML SSO with SCIM ($200/mo) are add-ons on Pro and included on Enterprise. Builds, screenshots and diffs have no expiry on any plan.

Diffy

Screenshots per monthBilled annuallyMonth-to-month
500 (Free)$0$0
2,000$67/mo$80/mo
8,000$125/mo$150/mo
30,000$250/mo$300/mo

Team members are included on every Diffy plan, the free one too. Paid plans add the API and CI automation, development and custom environments, and 6 months of history (1 month on the free plan).

Per screenshot, Argos is cheaper. $100 for 35,000 is under a third of a cent each, against Diffy’s $250 for 30,000. Argos’s free tier is also ten times larger than ours. We’d rather say that plainly than bury it.

What the numbers leave out. An Argos screenshot exists because someone wrote a test or a script that takes it, and a CI job that runs it on every push. That code has to be written, kept working as the site changes, and run on your CI minutes. A Diffy screenshot exists because a URL is in a list. For a team that already has a Playwright suite, the Argos work is mostly done. For a site team that doesn’t, it’s the biggest cost on the page and it isn’t on either pricing table.

A worked example. A 20-page site checked at three breakpoints, compared once a day, is about 1,800 screenshots a month. In Diffy that’s the $67 plan, with the whole team able to review. In Argos, one person can do it for free on Hobby, provided they write the capture script and run it in CI. A team that wants to review together needs Pro, from $100 a month.

Going over. On Argos Pro there’s no hard limit: uploads continue and extra screenshots are billed, with spend management available to cap the cost. Diffy doesn’t bill overage. When you reach your monthly allowance, Diffy stops taking new screenshots until the month resets or you move up a tier, so your invoice stays the number on your plan.

Argos prices as published on argos-ci.com/pricing and in the Argos docs in October 2026. Argos lists monthly prices only. Check both pricing pages before you commit, everyone changes prices eventually.

Branches vs environments

This is the deeper difference.

Argos is organised around Git. Each upload is a build tied to a commit, and the baseline is worked out from your history: for a pull request, Argos finds the merge base with the base branch, uses an approved build on that commit if there is one, and otherwise falls back to the closest build on an earlier commit. Builds on your default branch are approved automatically. You can override it with ARGOS_REFERENCE_BRANCH or ARGOS_REFERENCE_COMMIT. The model answers “did this pull request change the UI?”, and it answers it well.

Diffy is organised around environments. Production, staging and development are first-class, you can add custom ones, and the questions it answers naturally are about deployed sites:

  • Does staging still match production before we go live?
  • Did anything on production change overnight, without a deploy? Scheduled runs compare a site against itself over time.
  • Does this Pantheon multidev, Upsun or Tugboat preview match production?
  • Did the core, plugin or module update we just applied move anything on the 60 templates this site uses?

The last one is where many CMS regressions come from, and it often has no meaningful commit behind it: a plugin updated from the WordPress admin, or a composer update run on a server. A Git-first tool has nothing to hang that comparison on. That’s the case Diffy was built for.

Handling real-world pages without writing code

Most of the work in visual regression testing isn’t taking screenshots, it’s stopping them from being noisy. A deployed page has a logged-in state, a news feed, ads, a carousel and a date in the footer. Argos gives you helpers to hide, remove or mask elements and to wait for content, used from your test code. In Diffy they’re settings in the UI:

  • Log in before the screenshot. Presets for Drupal, WordPress and Netlify, plus a custom option. Diffy opens the login page, fills in the credentials and carries on.
  • Mock dynamic content. Give Diffy a list of selectors and it replaces their contents with placeholder text, the usual fix for sites that publish new articles between runs.
  • Remove or mask elements. Removing drops the element from the page; masking paints a visible rectangle over it, so reviewers can see what was hidden. Embedded videos and maps are masked by default.
  • Inject CSS or JavaScript, set HTTP headers, cookies and a custom User-Agent.
  • Any breakpoint from 240px to 2000px, as many as you like. Retina and dark mode are checkboxes.
Diffy project settings showing the Authenticate User Before Screenshot options, with presets for Custom, Drupal, WordPress and Netlify, and username and password fields.
Logging in before a screenshot is a radio button and two fields. In a test-suite workflow, this is code you write and maintain.
Diffy's Mock Content Before Taking A Screenshot settings, showing a CSS selector field next to a content type dropdown, and the available mock types: title, paragraph, large paragraph, phone number and number.
Mocking dynamic content: a CSS selector and the type of placeholder to substitute.

Comparison that understands vertical shifts

Argos uses deterministic pixel diffing built on the open-source odiff library. Each comparison runs two passes, a tolerant one that ignores small colour differences and a colour-sensitive one, with anti-aliasing detection on both and a sensitivity threshold you can set per screenshot. It’s transparent and predictable, and the implementation is public.

Pixel diffing has a well-known weak spot on full pages: make something near the top a little taller and every pixel below it moves, so the whole page lights up. Components are short enough that this rarely matters; on a 6,000-pixel landing page it happens all the time. Argos’s documentation doesn’t describe any special handling for content that shifts down.

Diffy runs its own algorithm alongside pixel-perfect comparison, and it recognises vertical shifts. Add a line to your header and Diffy highlights the header, not the 4,000 pixels that merely moved down. You can still switch to strict pixel-perfect comparison when that’s what you want.

Diffy's comparison algorithm switcher, offering Custom highlight and Pixel perfect, with an option to set the choice as the default algorithm for the project.
Switch algorithms per comparison, or set a default for the project.

A review UI built for whole sites

Argos’s review is built around a build on a pull request: a comment and status checks on GitHub pull requests, commit statuses on GitLab merge requests, a review page where you approve or reject the changes, flaky test detection, and notifications to Slack, Microsoft Teams or Discord. Bitbucket and Azure DevOps aren’t supported natively, so on those you review in the Argos dashboard only.

Diffy’s review is built around a whole site at once:

  • Thumbnail view, with approval directly from the thumbnails
  • The same change grouped across every screenshot it appears in, so a header change on 200 pages is one decision, not 200
  • Approve a single change, a screenshot, or a page across all breakpoints
  • A before/after slider and keyboard shortcuts for moving through a large set
  • The page’s HTML and JavaScript console output, for debugging
  • Shareable links that work for people without a Diffy account
  • An AI summary of what changed in the comparison, which can also be posted to Slack
Diffy's review dashboard comparing a production run against a staging run, with tabs for changed pages, unreviewed and with bugs, and page thumbnails.
Reviewing a production-versus-staging run from thumbnails. The comparison is between two environments, not two Git branches.

Integrations

  • GitHub: the Diffy GitHub app adds a check to the commit, and it can be a required status check. See GitHub Actions.
  • GitLab: comments on the merge request and a commit status. See GitLab CI.
  • Hosting previews: written workflows for Pantheon, Upsun, Tugboat and Cloudflare.
  • Local development: DDEV, Lando and Docksal add-ons, or a tunnel with ngrok.
  • Playwright: upload screenshots from your Playwright tests and use Diffy as the comparison and review layer. See Playwright visual regression testing.
  • Notifications and tickets: email, Slack, webhooks, and Zapier to open tickets in Jira, Trello or Basecamp.
  • Claude Code: an open-source plugin that captures and compares environments from a conversation. See visual regression testing with Claude Code.

Everything is listed on the integrations page.

Where Argos is the better fit

We’d rather you pick the right tool than the one that emails you.

  • You already have a Playwright, Cypress or Storybook suite. Argos adds visual checks to tests you already run, with SDKs for six frameworks and a CLI for the rest. If developers own the tests, that’s less new tooling than a separate service.
  • Price per screenshot and the free tier. 35,000 screenshots from $100 a month, and 5,000 free for one person. At high volume Argos costs a fraction of Diffy.
  • Open source. The whole Argos platform is MIT-licensed and the diffing code is public. Argos doesn’t officially support self-hosting, but you can read exactly how it works.
  • Pull-request gating. Baselines from the merge base, auto-approved default branches and PR checks are built for blocking a merge on UI changes.
  • More than images, and more browsers. Argos can also compare non-image files such as ARIA snapshots, JSON or HTML, and it works with whatever browsers your test runner drives. Diffy captures in Chrome and WebKit.
  • History. Argos keeps builds, screenshots and diffs with no expiry. Diffy keeps 6 months on paid plans and 1 month on the free plan.

Drupal and WordPress experts

We know Drupal and WordPress hosting and development workflows well. It’s why Diffy ships login presets for both and has written workflows for Pantheon, Upsun and Tugboat. If that’s your stack, see Drupal visual regression testing and WordPress visual regression testing, and you can talk to the people who built Diffy when something looks wrong.

Comparing other tools too? See Percy alternatives, Diffy vs Chromatic and Diffy vs Playwright.

Try it

Create an account, paste your URLs and run your first comparison. Most teams have real results within 10 minutes, and there’s nothing to uninstall if it isn’t for you.

Start free: 500 screenshots a month