FREE CHROME EXTENSION

YOUR FRIENDLY
NEIGHBORHOOD
UI TESTER.

Crawly is a free, open source Chrome extension that records a flow once, then a tiny comic spider replays it on your React or Next.js app: crawling to fields, typing at 25 ms per key, pouncing on buttons, and yelling KPOW! when everything passes. When your UI changed behind your back, you get an OMG! and a BOOM! instead of a silent green checkmark.

OPEN SOURCEAPACHE 2.0NO ACCOUNTLOCALHOST FREE PASS
Bug trackerLive
TitleReporterSeverity

New bug

Delete bug?

This will permanently remove the bug from the tracker.

Live demo: that is the real extension spider driving a real form on this page. No video, actual DOM clicks and keystrokes, on a loop.

WHAT THE SPIDER DOES

RECORD & REPLAY

Click record, use your app like a human. Crawly captures clicks, typing, selects, and mouse moves, then replays them any time. Selectors prefer data-testid and id, so hashed React class names are no problem.

TYPES LIKE A PERSON

Character by character, 25 ms per key, through native setters and real input events. Controlled React inputs accept every keystroke like it came from a keyboard.

COMIC ALERTS

BANG! on clicks, THWIP! for webs, OMG! when a button goes missing or gets disabled, BOOM! when a run fails, KPOW! when everything passes.

MULTI-PAGE RUNS

Runs checkpoint before every step and survive real navigations. Each landing doubles as an assertion: land on the wrong page and the spider panics loudly instead of passing quietly.

AUTO-RUN & SHARING

Flip AUTO and a crawl runs itself whenever a matching page loads. Export any crawl as .crawly.json, commit it, share it. Imports never get auto-run rights until you say so.

CONSENT FIRST

localhost on any port just works. Every other domain gets asked once, in a big comic panel, before the spider records or replays anything. Everything stays in your browser.

HOW TO INSTALL CRAWLY

Crawly is live on the Chrome Web Store. One click to add it, and you are recording in under a minute — no build step, no account.

  1. Open the Chrome Web Store listing

    Head to the Crawly listing on the Chrome Web Store in Chrome, Edge, Brave, Arc, or any Chromium-based browser with Manifest V3 support.

  2. Add to Chrome

    Click Add to Chrome and confirm the permissions prompt.

  3. Pin Crawly

    Pin the Crawly icon to your toolbar so you can start recording with one click.

  4. Record your first crawl

    Open any React or Next.js app, click the Crawly icon, hit RECORD A CRAWL, use your app, then STOP & SAVE. Press RUN to watch the spider replay it.

FREQUENTLY ASKED QUESTIONS

What is Crawly?
Crawly is a free, open source Chrome extension that records your clicks and keystrokes, then replays them on your React or Next.js app with a comic-book spider. It types character by character at 25 ms per key, uses native value setters so React controlled inputs accept every keystroke, and yells “KPOW!” when a run passes or “BOOM!” when it fails.
How do I install Crawly?
Open the Crawly listing on the Chrome Web Store and click Add to Chrome. Pin the icon to your toolbar and you are done. Prefer to run from source? Clone the GitHub repo and load extension/ unpacked from chrome://extensions.
Does Crawly send my recordings anywhere?
No. Everything stays in chrome.storage.local inside your browser. Crawly makes zero network requests, ships no telemetry, and never uploads a recording. You can export a crawl as a .crawly.json file yourself if you want to share or commit it.
Does Crawly work with React and Next.js controlled inputs?
Yes. Crawly types with native value setters and dispatches real input events, which is exactly what React controlled components need to accept each keystroke. Selectors prefer data-testid, id, name, aria-label, and placeholder before falling back to a structural path, so hashed CSS class names from Next.js builds do not break anything.
How is Crawly different from Cypress, Playwright, or Selenium?
Cypress, Playwright, and Selenium are code-first frameworks that live in your test suite and run in CI. Crawly is a zero-config Chrome extension: no npm install, no config file, no scripts. You record a flow by using your app, then hit RUN. It is aimed at quick manual regression checks and shareable “did the signup flow still work” crawls, not at replacing your framework of choice for CI-scale coverage. For a deeper walk-through, see our roundup of free UI testing tools.
Is Crawly free? What license does it use?
Crawly is free and open source under the Apache License 2.0. You can read the code, fork it, modify it, and use it commercially. The full license text lives in the Apache 2.0 LICENSE file at the root of the GitHub repository.
Does Crawly ask permission before running on my site?
Yes. On localhost and 127.0.0.1 (any port), Crawly works right away. On every other domain, Crawly shows a comic-panel consent prompt once, per origin, before it will record or replay anything. You can revoke consent for any domain from the popup at any time.
Can a crawl span multiple pages?
Yes. Recording and replay both survive full page loads within the same origin. Every navigation is stamped as a nav step that doubles as an assertion: if the app lands on the wrong path during replay, the spider panics with OMG! and BOOM! instead of passing silently.
What is the .crawly.json file?
It is the portable export format for a saved crawl. It contains the origin, path prefix, and every recorded step (clicks, typed values, selects, navigations). You can commit a .crawly.json to a repo, hand it to a teammate, and import it back into another Crawly install. Values are stored in plain text, so avoid recording real credentials.

COMING SOON

SOON

MCP SERVER

Drive Crawly from Claude or any MCP client. Start runs, read results, and manage your crawls straight from an AI conversation.

SOON

AI FULL-SYSTEM TESTING

Describe a flow in plain words. The spider explores your app, builds the crawl itself, runs it end to end, and reports what broke.

SOON

CODING AGENT HANDOFF

One command sends your coding agent everything it needs: the failing URL, the exact element, and what changed, ready to jump in and fix.

OPEN SOURCE, APACHE 2.0

Crawly is free and open source under the Apache 2.0 license. Read it, fork it, bend it to your team's will. Bug reports and pull requests are welcome, the spider does not bite contributors.

# grab the source
git clone https://github.com/yemon/crawly

# load it unpacked
chrome://extensions > Developer mode > Load unpacked

# share a crawl with your team
signup-flow.crawly.json