Getting started
openpicker is an open-source CSS element picker for the web. It has two parts:
- A browser extension that renders the whole picking experience — a hover highlight, a sidebar inspector, a DOM-tree navigator, a live match count, and per-site selector settings.
- A tiny SDK (
@openpicker/sdk) that lets a web app start a pick and receive the resulting selector.
You can pick in two ways: straight from the toolbar (no code), or programmatically via the SDK.
Install the extension
The extension isn't on the Chrome Web Store yet. Until then, load it unpacked from source.
- Clone the repo and build the extension:bash
pnpm install pnpm --filter @openpicker/extension build - Open
chrome://extensionsand enable Developer mode (top right). - Click Load unpacked and select
packages/extension/.output/chrome-mv3.
You'll see the openpicker icon in the toolbar.
Pick from the toolbar

- Open any page.
- Click the openpicker toolbar icon → Pick an element on this page.
- Hover to highlight, click to select, refine in the sidebar if needed.
- Click Copy — the selector is on your clipboard.
That's it — no code required. See Using the picker for the full flow.
Pick from your app (SDK)
Install the SDK and start a pick. The extension opens the URL, the user picks there, and the selector comes back to your app:
bash
npm install @openpicker/sdkts
import { createOpenpicker } from "@openpicker/sdk"
const op = createOpenpicker({ appName: "My App" })
if (await op.isAvailable()) {
const { selector, matchCount } = await op.pick({ url: "https://app.example.com" })
console.log(selector, matchCount)
}See the SDK reference for the full API.
Try it now
The live demo is a real caller of @openpicker/sdk — install the extension, then run a pick from the demo.