Visualize historical CRS cutoff scores for all Canada Express Entry invitation rounds since 2015. See trends by program type. Project future scores. Check if your score qualifies.
- All 394+ rounds fetched from the official IRCC JSON endpoint (source: Express Entry rounds page).
- Separate lines for each program: General, PNP, CEC, French, Healthcare, STEM, and more.
- Three projection modes: linear regression, moving average, and polynomial.
- Enter your CRS score to see a horizontal reference line and per-category eligibility.
- Filter to the last 3 years for a focused view.
- Toggle individual categories on and off.
- All settings persist in the URL. Bookmark any configuration.
- Auto-updates weekly via GitHub Actions.
Open the deployed GitHub Pages site. Everything runs in the browser.
npm install
npm run download
npm run generate
Open dist/chart.html in a browser.
download fetches the latest round data (including CRS score pool distribution) from the IRCC JSON endpoint and saves it to src/data/rounds.json.
generate builds a self-contained HTML file with all data embedded.
- Push to GitHub.
- Go to Settings > Pages > Source > GitHub Actions.
- The included workflow handles the rest.
Data refreshes automatically every Monday.
All data—including historic CRS cutoff scores, invitation counts, and CRS score pool distribution snapshots—comes from the official IRCC (Immigration, Refugees and Citizenship Canada) JSON endpoint:
https://www.canada.ca/content/dam/ircc/documents/json/ee_rounds_123_en.json
This is the same data that powers the official Express Entry rounds page. The JSON includes per-round distribution data across 15 CRS score ranges (0–300 up to 601–1200), along with the date each distribution snapshot was taken.