Data refreshed 5 October 2026, 22:59 UTC
Top 100 GitHub repositories for all 30 languages
Every language Top100 tracks has its own page: a full 100-row table
ranked by stars, the star count needed to reach 100th place, the median star count
inside the top 100, and the raw JSONL for download.
All 30 languages, ordered as on the homepage. Star counts refreshed 5 October 2026, 22:59 UTC.
| Language page | Most-starred repository |
★ Leader | Stars to enter top 100 |
Median in top 100 | Repos GitHub reports |
Data |
| Top 100 TypeScript repositories | freeCodeCamp/freeCodeCamp | 456,804 | 45,881 | 72,164 | 19,011,801 | JSONL |
| Top 100 Python repositories | public-apis/public-apis | 486,315 | 58,107 | 80,621 | 34,406,268 | JSONL |
| Top 100 JavaScript repositories | affaan-m/ECC | 273,610 | 34,788 | 52,374 | 47,824,012 | JSONL |
| Top 100 Java repositories | krahets/hello-algo | 130,627 | 19,025 | 29,202 | 21,777,648 | JSONL |
| Top 100 C# repositories | 2dust/v2rayN | 117,665 | 10,631 | 15,523 | 7,723,088 | JSONL |
| Top 100 C++ repositories | tensorflow/tensorflow | 200,710 | 19,764 | 30,821 | 7,181,118 | JSONL |
| Top 100 PHP repositories | danielmiessler/SecLists | 73,955 | 9,703 | 12,920 | 6,422,275 | JSONL |
| Top 100 Shell repositories | obra/superpowers | 295,643 | 11,718 | 20,542 | 3,328,586 | JSONL |
| Top 100 C repositories | torvalds/linux | 251,204 | 14,165 | 22,463 | 4,362,575 | JSONL |
| Top 100 Go repositories | avelino/awesome-go | 187,107 | 29,493 | 40,395 | 2,556,488 | JSONL |
| Top 100 Rust repositories | ultraworkers/claw-code | 195,220 | 25,980 | 37,852 | 1,382,283 | JSONL |
| Top 100 Ruby repositories | rails/rails | 58,806 | 6,078 | 9,780 | 2,971,196 | JSONL |
| Top 100 Kotlin repositories | 2dust/v2rayNG | 63,539 | 7,504 | 12,113 | 2,371,667 | JSONL |
| Top 100 Swift repositories | jaywcjlove/awesome-mac | 115,464 | 8,750 | 14,355 | 1,711,976 | JSONL |
| Top 100 Dart repositories | flutter/flutter | 179,353 | 3,610 | 6,710 | 2,140,253 | JSONL |
| Top 100 HTML repositories | ossu/computer-science | 209,879 | 10,265 | 16,657 | 48,573,277 | JSONL |
| Top 100 CSS repositories | animate-css/animate.css | 82,850 | 5,208 | 8,416 | 11,399,768 | JSONL |
| Top 100 SQL repositories | ben-nour/SQL-tips-and-tricks | 2,310 | 7 | 14 | 4,580 | JSONL |
| Top 100 Scala repositories | twitter/the-algorithm | 73,961 | 1,642 | 2,814 | 260,384 | JSONL |
| Top 100 Lua repositories | Kong/kong | 44,241 | 3,702 | 5,910 | 752,721 | JSONL |
| Top 100 Groovy repositories | gradle/gradle | 18,875 | 384 | 703 | 111,187 | JSONL |
| Top 100 Objective-C repositories | AFNetworking/AFNetworking | 33,355 | 5,881 | 8,186 | 543,165 | JSONL |
| Top 100 Perl repositories | AlDanial/cloc | 23,574 | 988 | 1,692 | 188,733 | JSONL |
| Top 100 Haskell repositories | jgm/pandoc | 46,583 | 1,074 | 1,890 | 164,382 | JSONL |
| Top 100 Assembly repositories | chrislgarry/Apollo-11 | 72,480 | 661 | 1,250 | 215,277 | JSONL |
| Top 100 R repositories | cxli233/FriendsDontLetFriends | 7,115 | 946 | 1,447 | 1,136,972 | JSONL |
| Top 100 Julia repositories | JuliaLang/julia | 49,185 | 574 | 865 | 94,649 | JSONL |
| Top 100 Elixir repositories | anoma/anoma | 33,577 | 1,260 | 1,899 | 132,617 | JSONL |
| Top 100 PowerShell repositories | ChrisTitusTech/winutil | 63,659 | 1,865 | 2,990 | 375,371 | JSONL |
| Top 100 Nix repositories | NixOS/nixpkgs | 26,371 | 658 | 1,071 | 86,782 | JSONL |
What "primary language" means here
GitHub assigns every repository a single detected primary language, so each
repository appears in exactly one list. A project that is half Python and half C++
is filed under whichever language GitHub detected as dominant, which is why the
per-language totals on this page do not add up to the number of repositories on
GitHub.
Adding a language
Fetching is free-form: trigger the workflow from the Actions tab with a
comma-separated list of languages, or run
LANGUAGES=Rust,Zig python scripts/fetch_top_repos.py locally. Each
language costs one Search API request.
Publishing it is a configuration step, not an automatic one. The site builder reads
the language list in scripts/site_content.py, so add a line there —
key, display name, URL slug and a one-line note — and the next build generates the
page. Until then the JSONL and Markdown files exist in the repository but no page is
published for them. Changing the builder to discover data/ automatically
would remove that step. The methodology page has the
details.