Introducing the Hockey Alchemy Chrome Extension

2026-07-02 · Chrome extension · product · GAR · tools

GAR, tier, and contract value for any NHL player — in a popup, a side panel, or highlighted right on the pages you already read. Free, no account, no tracking.

We're in a time of the multiple browser tabs. You're reading a trade rumor, a box score, a prospect profile — a name comes up, and a question might come up like: is this guy actually any good? So you open a new tab, go to a hockey statistics website like Hockey Alchemy, search the player, read the card, and tab back. Do that fifteen times over a morning of hockey reading and the context-switching adds up.

We built a Chrome extension to help address that problem. Hockey Alchemy — Player Lookup puts a player's Goals Above Replacement (GAR), tier, percentile, and contract value one click away — in a popup, a docked side panel, or highlighted right on the page you're already reading. No new tab, no sign-in, no tracking.

Add to Chrome — free · no account · works on Chrome and Edge.

Three ways to use it

1. Search from the toolbar

Click the toolbar icon and start typing. Results are sorted by impact — highest-GAR players first — with headshots, team, and position. Pick one and you get an instant card: total GAR, tier (MVP, Star, 1st Line…), league percentile, an offense-vs-defense split, and the contract read below. Arrow keys move, Enter opens the full profile.

2. X-Ray highlighting on the pages you read

This is the one that changes how you read hockey. Like Prime Video's X-Ray, but for analytics: the extension finds NHL player names in the text and underlines them. Hover any name for a compact GAR card — without leaving the page. It runs automatically on the sites you're most likely to be reading — NHL.com, EliteProspects, Daily Faceoff, PuckPedia, and Hockey-Reference — where it even catches bare last names like "Matthews." On any other page, open the popup and click "Highlight players on this page."

It's deliberately conservative: ambiguous last names (a "Hughes" that could be three different players) are skipped rather than guessed, and off the five hockey sites it only matches full names, so you don't get false hits on every common surname.

3. The side panel — a live, ranked player list

Open the side panel and it docks to the right, listing every NHL player detected on the current page, ranked by GAR, with team, position, and tier. Unlike the popup, it stays open while you read, scroll, and click around, and it updates live as the page changes. It's the fastest way to answer "who are the real difference-makers in this article?" — click any row to open that player's full profile.

What's on the card

The card is the same analytics that power the site, compressed to what you need at a glance:

It's all drawn live from the public Hockey Alchemy player database — the same GAR model, contract projections, and tiers you'd get on the site, just surfaced wherever you happen to be.

Private by design

An extension that reads pages has to earn trust, so we built it to need as little as possible. There's no account and no sign-in. There are no analytics and no trackers. Name-matching happens entirely on your device — page content is never sent anywhere. The only thing stored is your recent searches and a cached copy of the public NHL player list, kept locally so lookups stay fast. Automatic highlighting is limited to the five hockey sites above; anywhere else, nothing happens until you explicitly ask it to scan the page. The full policy lives in the privacy policy.

Under the hood

A few notes for the technically curious — and the architecture is really just the privacy design restated. The extension is built on Manifest V3: a content script spots player names on the page and reports them to a background service worker, which is the only piece that talks to our API — so requests stay off the page's origin and clear of cross-origin (CORS) issues. It calls just two public endpoints (player search and the GAR card) and caches the NHL player index locally for a day, so repeat lookups are instant and work offline. There's no remote code — everything executable ships inside the package — and name-matching runs entirely on your device, so the only thing sent to the API is a player ID, never the page you're reading.

Try it

Think of it as a companion to how you already read about hockey — a quick gut-check on any name without breaking your flow, not a replacement for anything you do now. And when a player catches your eye, it's a one-click doorway into the rest of Hockey Alchemy: click through to the full profile for the complete GAR breakdown, contract projections, player comparisons, and everything else on the site.

Add to Chrome — free · no account · works on Chrome and Edge.

Hockey Alchemy is an independent analytics site and is not affiliated with, endorsed by, or sponsored by the National Hockey League.

Frequently Asked Questions

What does the Hockey Alchemy Chrome extension do?

It surfaces any NHL player's Goals Above Replacement (GAR), tier, percentile, and contract value in a popup, a docked side panel, or highlighted right on the page you are already reading.

Is the Hockey Alchemy extension free?

Yes. It is free with no account or sign-in, and it has no analytics or trackers — player name-matching runs entirely on your device.

Which sites does the extension work on?

It automatically highlights players on NHL.com, EliteProspects, Daily Faceoff, PuckPedia, and Hockey-Reference, and works on any other page from the popup.

More from The Lab

How Good Is Our WAR Model? We Ran Four Tests and Lost Two

We tested our WAR model against HockeyStats and Evolving Hockey on the four questions an honest player-value model has to answer, matched to each benchmark's published protocol. Summed to a team it loses both tests - it forecasts next season worse than simply reusing last season's standings. Measured per player it wins both, repeating at 0.77 against 0.62 and 0.46.

Which Hockey Stats Are Skill, and Which Are Luck?

Line up every player's value in a category this season against next season and you get a brutal skill-vs-luck test. Staying out of the penalty box repeats more than four times better than finishing - and it changes how you should read a stat line.

What's Actually Inside a GAR Number

GAR compresses a season into one figure - so the parts underneath had better add up. What our GAR is actually made of, why it is anchored on counting stats rather than built purely from RAPM (measured: pure RAPM drops standings R-squared from 0.75 to 0.51), and the bug that left our own component breakdown failing to sum to the number above it.