Chrome extension that detects supported Chess.com game pages and imports the current game into Lichess with one click.
- Install dependencies with
npm install. - Build the extension with
npm run build. - Re-run
npm run buildwhenever you change files undersrc/.
The TypeScript source lives in src/, and the compiled extension files are emitted to dist/.
- On a Chess.com game page, the content script watches for the Share button.
- While the game page is supported but the PGN is not ready yet, the extension badge shows
↺as a retry state. - When the PGN can be imported, the badge shows
PGN. - Clicking the extension action always tries to read the PGN again, even if the page was loaded earlier or the content script needs to be reattached.
- If the import succeeds, the extension opens
https://lichess.org/pastewith an import token in the URL hash, and a Lichess content script fills the PGN form and submits it in-page.
This avoids using the clipboard, avoids requiring a Lichess API token, avoids cross-origin POST failures from extension pages, and avoids matching the game through Chess.com's monthly archive API.
- Run
npm run build. - Open
chrome://extensions. - Enable Developer mode.
- Click Load unpacked.
- Select this folder.
- The extension is currently scoped to Chess.com game pages.
- Lichess imports created through this flow are public, matching the normal import page behavior.
- If Chrome already has a Lichess import tab open, this extension still opens a fresh
https://lichess.org/pastetab for a predictable one-click flow.