# Nuxt vs Next.js: source lines of code compared

The Nuxt vs Next.js comparison on OctoCounts shows side-by-side source line counts for nuxt/nuxt and vercel/next.js, counted with the same engine and analysis options on the dates shown in the methodology line: files, total lines, code lines, comment lines, blank lines, and per-language totals, pinned to the exact commits listed below.

As of 2026-08-26, nuxt/nuxt contains 79,792 total lines (61,042 code) across 541 files, while vercel/next.js contains 910,769 total lines (735,484 code) across 8,328 files as of 2026-09-20. vercel/next.js is about 12x the size of nuxt/nuxt by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

| Metric | [nuxt/nuxt](https://octocounts.com/github/nuxt/nuxt) | [vercel/next.js](https://octocounts.com/github/vercel/next.js) |
| --- | ---: | ---: |
| Files | 541 | 8,328 |
| Total lines | 79,792 | 910,769 |
| Code lines | 61,042 | 735,484 |
| Comment lines | 9,204 | 85,169 |
| Blank lines | 9,546 | 90,116 |
| Languages counted | 10 | 12 |

Top languages in nuxt/nuxt: TypeScript (69.5% of code), YAML (26.4% of code), JSON (2.3% of code). Top languages in vercel/next.js: Rust (33.6% of code), TypeScript (30.6% of code), TSX (11.3% of code). TypeScript, JSON, JavaScript appear in both top language lists; YAML, SVG appear only in nuxt/nuxt's top languages; Rust, TSX appear only in vercel/next.js's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. nuxt/nuxt was counted at ref main (commit e0deb2cd13fe) on 2026-08-26; vercel/next.js was counted at ref canary (commit 34433fd12ee8) on 2026-09-20. See the [counting methodology](https://octocounts.com/docs/methodology) for ignored directories and analysis options.
## About this comparison

nuxt/nuxt counts the Nuxt monorepo — the Vue-based full-stack framework packages along with their documentation and example material — while vercel/next.js counts the Next.js monorepo, the React-based full-stack framework with its own docs, examples, and test suites. Both counts therefore measure framework monorepos of the same architectural role, counted with the same engine on the dates above, which makes this one of the more like-for-like comparisons on this site.

The per-language tables show both repositories are TypeScript-led codebases, matching how each framework presents its public APIs — the difference on the page is in tree size and composition, not in implementation language.

Both monorepos include documentation-site content and example applications as part of the counted archive, so a share of each total exists to teach and demonstrate the framework rather than to ship as its runtime.

_Framework repository size does not predict application bundle size, rendering performance, or hosting cost: a deployed site includes only a compiled subset of the framework plus application code and dependencies._

Sources: [nuxt/nuxt repository structure (framework monorepo)](https://github.com/nuxt/nuxt) · [vercel/next.js repository structure (monorepo with examples and docs)](https://github.com/vercel/next.js). Statements verified 2026-09-16.

Evidence and next steps:

- [nuxt/nuxt SLOC report](https://octocounts.com/github/nuxt/nuxt)
- [vercel/next.js SLOC report](https://octocounts.com/github/vercel/next.js)
- [Compare nuxt/nuxt and vercel/next.js interactively](https://octocounts.com/compare?left=https%3A%2F%2Fgithub.com%2Fnuxt%2Fnuxt&right=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js)

Note: code size is not code quality. OctoCounts only reports reproducible line counts and makes no claim that either project is better.

## Compare FAQ

### Which has more lines of code, nuxt/nuxt or vercel/next.js?

vercel/next.js has more code: 735,484 code lines versus 61,042 for nuxt/nuxt, about 12x as much, based on cached OctoCounts reports as of 2026-09-20.

### Does more source lines of code mean more complexity?

Not necessarily. SLOC measures size, not complexity, quality, or maintainability. A larger codebase can mean more features, more generated or vendored code, more verbose language idioms, or more tests — none of which imply the code is harder to work with. Use SLOC to gauge the scale of what you'd be reading or maintaining, not as a quality signal for nuxt/nuxt, vercel/next.js, or any repository.

### How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. nuxt/nuxt was counted at ref main (commit e0deb2cd13fe) on 2026-08-26; vercel/next.js was counted at ref canary (commit 34433fd12ee8) on 2026-09-20. See the counting methodology for ignored directories and analysis options.

### Can I compare a different branch, tag, or commit?

Yes. This page shows the default branch for each repository. Use the interactive comparison tool to pick any public GitHub repository, branch, tag, or commit SHA for both sides and get a fresh side-by-side report.

## Related OctoCounts pages

- [Interactive repository comparison](https://octocounts.com/compare)
- [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)
- [Original research: how filtering changes SLOC counts](https://octocounts.com/research)
- [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)
- [OctoCounts API docs](https://octocounts.com/docs/api)
