React vs Vue: source lines of code compared

The React vs Vue comparison on OctoCounts shows side-by-side source line counts for react/react and vuejs/core, counted under the rules and on the dates stated below: files, total lines, code lines, comment lines, blank lines, and per-language totals, pinned to the exact commits listed below.

This page compares the source lines of code (SLOC) of react/react and vuejs/core using cached OctoCounts reports. Code size is not code quality: a larger count only means more source material, not a better or worse project.

As of 2026-11-01, react/react contains 459,809 total lines (364,361 code) across 2,133 files, while vuejs/core contains 82,103 total lines (61,305 code) across 413 files as of 2026-11-04. react/react has about 5.9x the counted code lines of vuejs/core under the same engine and counting rules. Code size is not code quality: a larger count only means more source material, not a better or worse project.

Metricreact/reactvuejs/core
Files2,133413
Total lines459,80982,103
Code lines364,36161,305
Comment lines59,10512,127
Blank lines36,3438,671
Languages counted1111

Top languages in react/react: JavaScript (63.5% of code), Rust (17.5% of code), TypeScript (16.4% of code). Top languages in vuejs/core: TypeScript (82.5% of code), YAML (8.0% of code), TSX (3.5% of code). JavaScript, TypeScript, JSON appear in both top language lists; Rust, CSS appear only in react/react's top languages; YAML, TSX appear only in vuejs/core's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. react/react was counted at ref 1d34f91dfde6bba84d08b683aaba164c7194dacb (commit 1d34f91dfde6) on 2026-11-01; vuejs/core was counted at ref main (commit 70599b52fbf1) on 2026-11-04. See the counting methodology for ignored directories and analysis options.

Both reports use the same engine and effective counting rules. Repository declarations, when enabled, are specific to each repository. react/react: tokei-15.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. vuejs/core: tokei-15.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.

About this comparison

Background observations recorded on 2026-10-16; language descriptions here are historical context, not claims about the current filtered shares. Use this page's measured language breakdown for current counts. Repository layout before counting filters: react/react is a monorepo: the source repository is the React packages plus fixtures, documentation site content, and test infrastructure, not just the react package that ships to apps. vuejs/core is the Vue core repository — the runtime, compiler, and reactivity packages — with its own tests and docs. Both repositories are framework source trees, not applications built with them, and the two archives were counted on the dates shown in the methodology line above.

Vue core includes runtime, compiler, and reactivity packages; React includes its own packages and supporting infrastructure. The current per-language tables describe the selected snapshots and filters, not the language mix of an application built with either framework.

Neither number predicts the size, performance, or quality of an app built with the framework: a bundled application includes a compiled subset of the framework, application code, and dependencies. Use these counts to gauge how much framework source exists to read and maintain.

Sources: react/react repository structure (packages/ monorepo) · vuejs/core repository. Statements verified 2026-10-16.

Evidence and next steps:

Saved reports remain subject to cache cleanup and replacement. Export their JSON for durable citation; live report URLs can change.

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, react/react or vuejs/core?

As of 2026-11-01, react/react contains 459,809 total lines (364,361 code) across 2,133 files, while vuejs/core contains 82,103 total lines (61,305 code) across 413 files as of 2026-11-04. react/react has about 5.9x the counted code lines of vuejs/core under the same engine and counting rules. Code size is not code quality: a larger count only means more source material, not a better or worse project.

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 react/react, vuejs/core, or any repository.

How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. react/react was counted at ref 1d34f91dfde6bba84d08b683aaba164c7194dacb (commit 1d34f91dfde6) on 2026-11-01; vuejs/core was counted at ref main (commit 70599b52fbf1) on 2026-11-04. 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.