
Loki
Loki is a free, MIT-licensed tool for checking Storybook projects for visual regressions.
What Loki is
Loki is a free, MIT-licensed tool for checking Storybook projects for visual regressions. It captures screenshots of stories and compares them with reference images, producing visual differences for review. The workflow is to create reference screenshots, run comparisons, review changes, and approve updated references. Loki can run on continuous integration servers, where tests can fail if reference images are missing. Supported capture targets include Chrome in Docker, local Chrome, Chrome in AWS Lambda, the iOS simulator, and the Android emulator; an AWS Lambda renderer is available for large test suites. Loki requires Node 16 or later. Recent Storybook versions generally need no extra setup for non-React Native projects, while React Native setup uses an import in `storybook/storybook.js`. Projects can configure it through package.json or supported Loki configuration files. Loki does not start Storybook or simulator and emulator servers, so they must already be running. Documented animation limits include looping requestAnimationFrame animations, GIFs, SVG animations, native Lottie animations, and React Native Animated.
Good
- Creates visual diffs against reference screenshots.
- Runs on continuous integration servers.
- Supports iOS simulator and Android emulator captures.
- Free and MIT-licensed.
Watch out
- Requires Node 16 or later.
- Does not start Storybook or simulator servers.
- Several animation types have documented limitations.
Who it suits
Loki suits developers maintaining Storybook projects who want screenshot comparisons in a continuous integration workflow. It supports browser captures as well as iOS simulator and Android emulator screenshots.
Verdict
Loki offers a free workflow for catching visual changes in Storybook stories, including mobile simulator and emulator captures. Account for its Node requirement, server setup, and documented animation limits.
Plans and prices
From Loki's own pricing page, checked 5 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Loki | Free | MIT-licensed open-source software · Node 16+ |
The facts
Each one read from Loki's own pages, with the date it was checked.
What it does
- Animation limits
- Documented known animation limitations include looping requestAnimationFrame animations, GIFs, SVG animations, native Lottie animations, and React Native Animated.checked 4 Oct 2026
- AWS Lambda
- A remote renderer using AWS Lambda is available for large test suites.checked 4 Oct 2026
- CI
- Loki is designed to run on continuous integration servers, where tests can require reference images.checked 4 Oct 2026
- Continuous integration
- Loki is designed to run on continuous integration servers and can fail tests when reference images are missing.checked 5 Oct 2026
- Custom configuration
- Projects can configure Loki through a `loki` section in `package.json` or through `.lokirc`, `.lokirc.json`, or `loki.config.js`.checked 5 Oct 2026
- Image comparison
- Loki documents pixelmatch, GraphicsMagick, and looks-same as image comparison engines.checked 5 Oct 2026
- License
- The project repository identifies Loki as MIT licensed.checked 4 Oct 2026
- License and maintainer
- The repository identifies Loki as MIT-licensed and lists Joel Arvidsson as author and Tomas Echeverri Valencia as maintainer.checked 5 Oct 2026
- Maintainer
- The repository lists Joel Arvidsson as author and Tomas Echeverri Valencia as maintainer.checked 4 Oct 2026
- Mobile targets
- Loki supports screenshots from the iOS simulator and Android emulator.checked 5 Oct 2026
- Optional dependencies
- GraphicsMagick is optional for the `gm` diffing engine, and Docker is optional for the `chrome.docker` target.checked 5 Oct 2026
- Prerequisite
- The getting-started guide lists Node 16 or newer as a prerequisite.checked 5 Oct 2026
- Purpose
- Loki tests Storybook projects for visual regressions by comparing screenshots with reference images.checked 5 Oct 2026
- React Native integration
- React Native projects can integrate Loki by importing `loki/configure-react-native` in `storybook/storybook.js`.checked 5 Oct 2026
- Reference images
- Loki compares screenshots of stories with reference images and creates visual diffs for review.checked 4 Oct 2026
- Security
- The command-line reference documents a `chromeDockerWithoutSeccomp` option, which defaults to false.checked 5 Oct 2026
- Storybook integration
- For recent Storybook versions, the documentation says no further integration is needed; older versions may require a React configuration import.checked 5 Oct 2026
- Storybook setup
- The getting started guide says recent Storybook versions need no extra integration for non React Native projects; React Native setup imports loki/configure-react-native.checked 4 Oct 2026
- Support
- The project provides documentation and a GitHub repository for its community and development.checked 5 Oct 2026
- Targets
- Supported targets include Chrome in Docker, local Chrome, the iOS simulator, and the Android emulator.checked 4 Oct 2026
- Test workflow
- The workflow creates reference screenshots, tests stories against them, reviews visual differences, and approves updated references.checked 5 Oct 2026
- Workflow limitation
- Loki does not start Storybook or simulator/emulator servers, so these must be running before tests.checked 4 Oct 2026
Where it runs
- Browser targets
- Supported browser targets include Chrome in Docker, local Chrome, and Chrome in AWS Lambda.checked 5 Oct 2026
The full review of Loki
Loki is a visual regression testing tool for Storybook projects, built around screenshot comparisons rather than cross-browser coverage. It suits teams that want to check story changes in CI and can manage the browser or mobile simulator setup themselves.
Overview
Loki captures Storybook stories, compares them with approved reference images, and presents visual differences for review. The workflow also supports approving updated references, making it a practical way to catch unintended UI changes before they reach users.
Its scope is focused: Chrome, iOS simulator, and Android emulator captures are supported, with AWS Lambda as a remote renderer for larger suites. Loki is strongest when a team already uses Storybook and wants a free, configurable visual-checking step; it is less suitable when browser coverage or managed test infrastructure is central.
Key features
Reference images and review
Teams create baseline screenshots, run stories against them, and inspect visual diffs before approving changed references. In CI, missing reference images can fail tests, which helps make baseline setup explicit rather than silently treating new output as correct.
Capture and comparison options
Capture targets include Chrome in Docker, local Chrome, the iOS simulator, and Android emulator. Chrome on AWS Lambda is another option for large suites. Loki offers pixelmatch, gm, and looks-same diff engines; gm requires GraphicsMagick. Docker is optional and only needed for the Docker Chrome target.
Recent Storybook versions need no extra integration for non-React Native projects. Older versions may require a React configuration import, while React Native projects use loki/configure-react-native in storybook/storybook.js. Configuration can live in a loki section of package.json or in .lokirc, .lokirc.json, or loki.config.js.
CI and constraints
Loki is designed for continuous integration, but it does not start Storybook or simulator and emulator servers. Those services must already be running when tests begin, so teams need to account for that setup in their pipeline. Node 16 or later is required.
Documented animation limits include looping requestAnimationFrame animations, GIFs, SVG animations, native Lottie animations, and React Native Animated. Projects whose stories depend on these animations may need to avoid or account for them in visual checks.
Pricing
Loki is free: its plan costs nothing and is MIT-licensed open-source software. There is no free trial because the software is free. Node 16 or later is a prerequisite; the free plan has no stated seat or screenshot quota.
This makes Loki a good fit for teams able to run and maintain their own test setup, especially those who want to avoid a per-screenshot plan. The tradeoff is operational: teams must provide the running Storybook and mobile services, and the documented capture scope does not include cross-browser testing.
Platforms
Loki supports Android and iOS simulator or emulator captures, Linux, macOS, Windows, web, and self-hosted use. Browser capture targets are Chrome in Docker, local Chrome, and Chrome in AWS Lambda; cross-browser capture is not supported.
Who it's for
Loki is best for Storybook teams that want visual regression checks in CI, need mobile simulator or emulator screenshots, and are comfortable managing Node-based tooling and their own servers. It is a weaker choice for teams seeking broad browser coverage, turnkey server orchestration, or reliable visual testing of the animation types covered by its documented limitations.
Pros and cons
Pros
- Free and MIT-licensed: teams can add visual checks without a paid plan or stated screenshot cap.
- Useful mobile targets: iOS simulator and Android emulator captures extend Storybook checks beyond desktop Chrome.
- Reviewable baselines: visual diffs and explicit approval of updated references support a deliberate change-review workflow.
- Flexible setup: multiple diff engines, configuration files, Docker Chrome, and AWS Lambda provide options for different pipelines.
Cons
- Requires pipeline ownership: Loki will not start Storybook or simulator and emulator servers, so teams must arrange that lifecycle themselves.
- Chrome-only browser capture: it cannot check whether a change looks different in other browsers.
- Animation blind spots: several common web and native animation mechanisms have documented limitations.
- Node prerequisite: projects need Node 16 or later to use the tool.
Alternatives
Diffy is worth considering when a team wants a freemium service with a stated allowance of 500 screenshots per month, two environments, team management, and one month of data retention.
Happo may suit teams looking for a freemium option with 5,000 snapshots per month, Chrome, and visual and accessibility testing; its free plan has no credit-card requirement or time limit.
Percy is an alternative for teams that want a free tier with 5,000 screenshots per month, unlimited users, and unlimited projects.
SmartUI offers a free allowance of 2,000 screenshots valid for the lifetime of the plan, one month of build history, and limited user seats.
Frontend Regression Validator is another free, open-source option, licensed under Apache-2.0 and runnable locally or with Docker.
Screenshotbot may fit teams seeking a pay-as-you-go model, with a stated 10,000 free screenshots per month, up to five users, and three months of history.
Screenster is an alternative with a free plan limited to one user and one concurrent test, with monthly local or cloud run limits.
Argos is another freemium alternative; its SDKs and platform are open source and MIT-licensed.
For more options, see Visual Regression Testing Software.
Verdict
Choose Loki if your team uses Storybook and wants a free, MIT-licensed way to review visual changes in CI, including iOS and Android simulator captures. Its clearest advantage is that combination of open-source cost and focused Storybook workflow. Look elsewhere if you need cross-browser coverage, automatic server startup, or dependable capture of the documented animation types.
Getting started
- Install or use Node 16 or later.
- Start Storybook and any simulator or emulator servers needed for your targets.
- For recent Storybook versions, use the documented setup; React Native projects import `loki/configure-react-native` in `storybook/storybook.js`.
- Choose capture targets such as Chrome, the iOS simulator or the Android emulator.
- Configure Loki in `package.json`, `.lokirc`, `.lokirc.json` or `loki.config.js`.
- Create reference screenshots, run comparisons, review diffs and approve updated references.
Questions
Is Loki free?
Yes. Loki is free, MIT-licensed open-source software.
Which platforms or targets does Loki support?
Targets include Chrome in Docker, local Chrome, Chrome in AWS Lambda, the iOS simulator and the Android emulator.
Does Loki work in continuous integration?
Yes. It is designed for continuous integration, and tests can fail when reference images are missing.
What does Loki require?
The getting started guide lists Node 16 or later. Storybook and any simulator or emulator servers used for capture must already be running.
Does it support React Native Storybook projects?
Yes. React Native setup imports `loki/configure-react-native` in `storybook/storybook.js`.
What image comparison engines can it use?
The documented engines are pixelmatch, gm and looks-same. The gm engine requires GraphicsMagick.
Alternatives to Loki
- 1

Happo
Free planAndroidiOSWebAPI8.1From $149 a month - 2
Screenster
Free planWebAPISelf-hostedWindows7.6From $25 a month - 3

Percy
Free planAndroidiOSWeb7.5From $199 a month - 4
Roborazzi
Free planAndroidiOSLinuxmacOS7.2Free plan - 5

SmartUI
Free planAndroidiOSWebAPI7.2From $199 a month - 6

Diffy
Free planWebAPILinuxmacOS7.0From $67 a month
