Loki
What it is
Loki is a free, MIT-licensed tool for finding visual changes in Storybook projects. It captures story screenshots and compares them with reference images, producing differences for review. Teams can create reference screenshots, run comparisons, inspect changes, and approve revised references. Loki is designed for continuous integration, where tests can fail when reference images are missing. Capture targets include Chrome in Docker, local Chrome, Chrome in AWS Lambda, the iOS simulator, and the Android emulator. A remote AWS Lambda renderer is available for large test suites. The getting-started guide lists Node 16 or later as a prerequisite. Recent Storybook versions need no extra integration for non-React Native projects; React Native setup imports `loki/configure-react-native`. Configuration can be placed in a `loki` section of `package.json` or in supported Loki configuration files. Loki does not launch Storybook or simulator and emulator servers, so they need to be running before tests. Documented animation limitations include GIFs, SVG animations, looping requestAnimationFrame animations, native Lottie animations, and React Native Animated.
For and against
For
- Free and MIT-licensed
- Creates visual diffs against reference images
- Supports local and Docker Chrome
- Supports iOS simulator and Android emulator captures
- Can run in continuous integration
Against
- Requires Node 16 or later
- Does not start Storybook or simulator servers
- Several animation types have documented limitations
- GraphicsMagick is required for the gm diff engine
The verdict
Loki provides a reference-image workflow for reviewing Storybook visual changes across browser and mobile targets. Teams need to manage their own servers and account for the listed animation limitations.
Who it suits
Loki suits developers and teams maintaining Storybook projects who want screenshot-based visual checks, including in continuous integration. It also supports projects capturing screens from iOS simulators and Android emulators.
Plans and prices
Loki
MIT-licensed open-source software · Node 16+
Read 5 Oct 2026 · github.com
On the record
- Animation limits
- Documented known animation limitations include looping requestAnimationFrame animations, GIFs, SVG animations, native Lottie animations, and React Native Animated.loki.js.org · read 4 Oct 2026
- AWS Lambda
- A remote renderer using AWS Lambda is available for large test suites.loki.js.org · read 4 Oct 2026
- Browser targets
- Supported browser targets include Chrome in Docker, local Chrome, and Chrome in AWS Lambda.github.com · read 5 Oct 2026
- CI
- Loki is designed to run on continuous integration servers, where tests can require reference images.loki.js.org · read 4 Oct 2026
- Continuous integration
- Loki is designed to run on continuous integration servers and can fail tests when reference images are missing.loki.js.org · read 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`.loki.js.org · read 5 Oct 2026
- Image comparison
- Loki documents pixelmatch, GraphicsMagick, and looks-same as image comparison engines.loki.js.org · read 5 Oct 2026
- License
- The project repository identifies Loki as MIT licensed.github.com · read 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.github.com · read 5 Oct 2026
- Maintainer
- The repository lists Joel Arvidsson as author and Tomas Echeverri Valencia as maintainer.github.com · read 4 Oct 2026
- Mobile targets
- Loki supports screenshots from the iOS simulator and Android emulator.loki.js.org · read 5 Oct 2026
- Optional dependencies
- GraphicsMagick is optional for the `gm` diffing engine, and Docker is optional for the `chrome.docker` target.loki.js.org · read 5 Oct 2026
- Prerequisite
- The getting-started guide lists Node 16 or newer as a prerequisite.loki.js.org · read 5 Oct 2026
- Purpose
- Loki tests Storybook projects for visual regressions by comparing screenshots with reference images.loki.js.org · read 5 Oct 2026
- React Native integration
- React Native projects can integrate Loki by importing `loki/configure-react-native` in `storybook/storybook.js`.loki.js.org · read 5 Oct 2026
- Reference images
- Loki compares screenshots of stories with reference images and creates visual diffs for review.loki.js.org · read 4 Oct 2026
- Security
- The command-line reference documents a `chromeDockerWithoutSeccomp` option, which defaults to false.loki.js.org · read 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.loki.js.org · read 5 Oct 2026
The review
Loki is a free visual regression tool for teams building Storybook projects. It suits developers who want screenshot checks in CI across browser and mobile targets and can keep the required servers running. Its reference-image review is focused and configurable, but capture setup stays with the team.
Overview
Loki compares screenshots of Storybook stories with approved reference images, then presents visual differences for review. Teams can approve updated references when a change is intentional, while CI can fail when a reference image is missing. That makes it useful for catching accidental visual changes and keeping baseline updates deliberate.
The workflow depends on infrastructure already being in place: Loki does not start Storybook, the iOS simulator, or the Android emulator. This is a meaningful operational cost for teams without an existing setup, even though Docker and GraphicsMagick are optional for particular capture and comparison choices.
Key features
Reference images and CI review
Teams create baseline screenshots, compare later runs against them, inspect diffs, and approve revised references. Missing references can fail a CI run, which helps prevent new output from becoming the baseline without review. This is a practical approval loop for visual changes, though the team remains responsible for deciding whether each difference is acceptable.
Browser and mobile capture
Loki supports Chrome in Docker, local Chrome, the iOS simulator, and the Android emulator. Chrome can also run remotely through AWS Lambda, an option aimed at large test suites. These targets give Storybook teams browser and mobile coverage within one workflow, but the browser capture options are Chrome-based rather than cross-browser.
Storybook setup and configuration
Recent Storybook versions generally need no additional integration for projects outside React Native. React Native projects import loki/configure-react-native; older Storybook versions may need a React configuration import. Settings can live in the loki section of package.json or in a Loki configuration file. The Node 16 or later prerequisite makes the tool a natural fit for current JavaScript development environments.
Image comparison and animation limits
Pixelmatch, gm, and looks-same are the documented diff engines. The gm option requires GraphicsMagick, so teams choosing it take on an extra dependency. Loki has known limitations with looping requestAnimationFrame animations, GIFs, SVG animations, native Lottie animations, and React Native Animated; projects that rely on those moving elements may get less dependable visual checks in the affected areas.
Pricing
Loki costs nothing under its MIT-licensed open-source plan, which requires Node 16 or later. There is no free trial because the software is free. The plan suits teams that can host and operate their own workflow; the trade-off is that they must provide the running Storybook and simulator or emulator servers themselves.
Platforms
Loki is listed for Android, iOS, Linux, macOS, self-hosted environments, web, and Windows. Its visual capture targets are more specific: Chrome in Docker or locally, the iOS simulator, the Android emulator, and Chrome through AWS Lambda. Docker is optional and only needed for the Docker Chrome target.
Who it's for
Loki is a strong fit for Storybook teams that want a free CI check, reviewable screenshot diffs, and the option to capture Android and iOS simulator output alongside Chrome. It is less suited to teams that need broad browser coverage, want the tool to start their test servers, or depend on animations among the documented limitations.
Pros and cons
- Free and MIT-licensed: teams can use the open-source tool without a paid plan.
- Reviewable baselines: visual diffs and reference approval make screenshot changes an explicit part of the workflow.
- Browser and mobile targets: Chrome, iOS simulator, and Android emulator captures support more than browser-only Storybook checks.
- Team-owned infrastructure: Storybook and simulator or emulator servers must be running before tests start.
- Chrome-focused browser capture: supported browser targets do not provide cross-browser coverage.
- Animation constraints: several common animation formats and frameworks have documented limitations.
Alternatives
Happo is a better fit for teams seeking a freemium service with a stated monthly allowance: its free plan includes 5,000 snapshots per month, Chrome, and visual and accessibility testing, with no credit card or time limit.
Percy suits teams who want a freemium screenshot service with a stated free quota of 5,000 screenshots per month, unlimited users, and unlimited projects.
Roborazzi is another free, open-source option for teams looking for Android-oriented visual testing software; it is available on Maven Central and uses the Apache-2.0 license.
SmartUI may suit teams who prefer a freemium plan with 2,000 screenshots valid for the lifetime of the plan, one month of build history, and limited user seats.
Screenshotbot is worth considering for teams that want a per-screenshot pricing model; its Pay-as-You-Go plan is $0.01 a month, with 10,000 free screenshots per month, up to five users, and three months of history.
Visual Regression Tracker is another free option for teams comparing visual regression tools.
PolyglotPiranha is another free option to consider.
Applitools Ultrafast Grid may fit teams seeking a paid visual testing service with a free trial; its Starter plan is $667 a month, billed annually.
Browse more options in Visual Regression Testing Software.
Verdict
Choose Loki if your team already uses Storybook and wants a free, CI-ready reference-image workflow that can include Chrome and mobile simulator captures. Its strongest reason to choose it is the combination of open-source pricing and an explicit visual review loop. Look elsewhere if you need cross-browser capture, managed server setup, or reliable coverage for the documented animation cases.