# keycloak/keycloak SLOC report

> As of 2026-10-24 (commit 7e07aeecd728), keycloak/keycloak contains 880,254 total lines: 592,118 code, 161,548 comments, 126,588 blank, across 7,585 files in 20 languages (top: Java 76.4%). Custom configuration (tests excluded, docs excluded, generated excluded). Counted with tokei via OctoCounts.

keycloak/keycloak has 592,118 source lines of code out of 880,254 total lines across 7,585 files, counted from the main ref at commit 7e07aeecd728 by the OctoCounts tokei engine on 2026-10-24. The report is cached by commit, tokei version, and analysis options, reproduction requires the same commit, engine version, and effective counting rules. Unknown rules in older reports prevent exact reproduction.

OctoCounts produced this report by resolving keycloak/keycloak to commit 7e07aeecd728, downloading the repository source archive, and counting files selected by the effective rules with tokei, the open-source line counter written in Rust. The table below breaks the count down by programming language into files, total lines, code lines, comment lines, and blank lines, so the figures can be compared across languages and projects. Results are cached by commit, tokei version, and analysis options, exact reproduction requires the same commit, engine version, and effective counting rules. Older reports with unknown rules cannot promise exact reproduction.

## Counting rules and retention

keycloak/keycloak: tokei-14.0.0, policy directories-v1; docs excluded, tests excluded, generated excluded. Excluded directory names: .cache, .generated, .git, .next, __tests__, build, dist, doc, docs, documentation, fixtures, gen, generated, node_modules, target, test, tests, vendor. Ignored languages: none. Repository declarations: off. Exclusions are rule-based; they do not prove that every test, document or generated file was removed.

Saved reports remain subject to cache cleanup and replacement. Export the JSON or text for durable citation; live repository URLs can change.

## Repository size insights

This is a large codebase by counted code lines. Code represents 67.3% of all lines, comments represent 18.4%, and the repository averages 78 code lines per file. Java accounts for 76.4% of counted code.

| Language | Files | Lines | Code | Comments | Blanks |
| --- | ---: | ---: | ---: | ---: | ---: |
| Java | 5,913 | 717,912 | 452,614 | 152,460 | 112,838 |
| TSX | 631 | 87,963 | 81,871 | 555 | 5,537 |
| XML | 291 | 27,824 | 22,037 | 4,012 | 1,775 |
| TypeScript | 226 | 12,633 | 10,379 | 906 | 1,348 |
| YAML | 8 | 9,661 | 7,630 | 0 | 2,031 |
| FreeMarker | 141 | 6,476 | 5,932 | 14 | 530 |
| JSON | 35 | 4,416 | 4,385 | 0 | 31 |
| SVG | 123 | 1,760 | 1,740 | 4 | 16 |
| CSS | 55 | 2,003 | 1,631 | 31 | 341 |
| JavaScript | 54 | 2,008 | 1,539 | 183 | 286 |
| Shell | 37 | 1,866 | 1,351 | 207 | 308 |
| XSL | 8 | 574 | 377 | 130 | 67 |

Top language (Java 76.4%). Generated at 2026-10-24T09:50:50.032918551+00:00. Canonical report: https://octocounts.com/github/keycloak/keycloak

## Reproduce this report

[Reproduce this exact report and configuration](https://octocounts.com/github/keycloak/keycloak/commit/7e07aeecd7281e6cd90a0dcc46957d74332dd553?analysis=%7B%22ignoredDirs%22%3A%5B%5D%2C%22ignoredLanguages%22%3A%5B%5D%2C%22profile%22%3A%22default%22%2C%22includeDocs%22%3Afalse%2C%22includeTests%22%3Afalse%2C%22includeGenerated%22%3Afalse%7D&reportId=8bf682e71f6c359be09cd17214aeb820cca723b645a23a715c889ce77a809013).

## Report FAQ

### How many lines of code does keycloak/keycloak have?

keycloak/keycloak has 880,254 total lines, including 592,118 code lines, 161,548 comment lines, and 126,588 blank lines.

### How was the keycloak/keycloak line count measured?

OctoCounts resolved the public GitHub repository to commit 7e07aeecd728, downloaded the source archive, counted it with tokei, and cached the report by commit, tokei version, and analysis options.

### What commit was counted for keycloak/keycloak?

This OctoCounts report was generated from main at commit 7e07aeecd728 on 2026-10-24T09:50:50.032918551+00:00.

## Similar repository reports

- [openl-tablets/openl-tablets](https://octocounts.com/github/openl-tablets/openl-tablets) — Java, 544,451 code lines
- [apache/cassandra](https://octocounts.com/github/apache/cassandra) — Java, 544,135 code lines
- [libgdx/libgdx](https://octocounts.com/github/libgdx/libgdx) — Java, 542,205 code lines
- [kksimp/Mac.apk](https://octocounts.com/github/kksimp/Mac.apk) — Java, 536,857 code lines
- [apache/kafka](https://octocounts.com/github/apache/kafka) — Java, 487,112 code lines
- [dbeaver/dbeaver](https://octocounts.com/github/dbeaver/dbeaver) — Java, 736,260 code lines

## Related OctoCounts pages

- [Recently analyzed repositories](https://octocounts.com/recent)
- [Popular SLOC reports](https://octocounts.com/popular)
- [Trending GitHub repositories](https://octocounts.com/trending)
- [Hall of Monoliths](https://octocounts.com/hall-of-monoliths)
- [MongoDB vs PostgreSQL](https://octocounts.com/compare/mongodb-vs-postgres)
- [Kubernetes vs Docker Compose](https://octocounts.com/compare/kubernetes-vs-docker-compose)
- [Kubernetes vs Terraform](https://octocounts.com/compare/kubernetes-vs-terraform)
- [GitHub SLOC counter guide](https://octocounts.com/docs/github-sloc-counter)
- [Counting methodology](https://octocounts.com/docs/methodology)
- [SLOC and code metrics glossary](https://octocounts.com/docs/glossary)
- [Original research: how filtering changes SLOC counts](https://octocounts.com/research)
- [OctoCounts API docs](https://octocounts.com/docs/api)
