# Svelte vs Vue: source lines of code compared

The Svelte vs Vue comparison on OctoCounts shows side-by-side source line counts for sveltejs/svelte and vuejs/core, 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-09-20, sveltejs/svelte contains 100,505 total lines (58,797 code) across 506 files, while vuejs/core contains 81,299 total lines (60,701 code) across 413 files as of 2026-09-19. sveltejs/svelte and vuejs/core are similar in size by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

| Metric | [sveltejs/svelte](https://octocounts.com/github/sveltejs/svelte) | [vuejs/core](https://octocounts.com/github/vuejs/core) |
| --- | ---: | ---: |
| Files | 506 | 413 |
| Total lines | 100,505 | 81,299 |
| Code lines | 58,797 | 60,701 |
| Comment lines | 25,162 | 11,970 |
| Blank lines | 16,546 | 8,628 |
| Languages counted | 8 | 11 |

Top languages in sveltejs/svelte: JavaScript (78.0% of code), TypeScript (14.1% of code), YAML (6.1% of code). Top languages in vuejs/core: TypeScript (82.4% of code), YAML (7.9% of code), TSX (3.5% of code). JavaScript, TypeScript, YAML, JSON appear in both top language lists; HTML appears only in sveltejs/svelte's top languages; TSX appears only in vuejs/core's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. sveltejs/svelte was counted at ref main (commit 636eaaaa6f06) on 2026-09-20; vuejs/core was counted at ref main (commit 4ab865a848a1) on 2026-09-19. See the [counting methodology](https://octocounts.com/docs/methodology) for ignored directories and analysis options.
## About this comparison

sveltejs/svelte counts the Svelte repository: the compiler, the client runtime, documentation, and test suites, organized as a monorepo of packages. vuejs/core counts the Vue core: the reactivity system, the runtime renderer, and the template compiler, with its own tests and docs. Both counts therefore measure framework source trees, not applications built with the frameworks, and both were counted on the dates shown above.

The two frameworks concentrate their work at different layers: Svelte's counted code centers on a compile-time transform, while Vue core ships a runtime renderer alongside its compiler — so the totals describe different balances of compile-time and runtime code rather than different amounts of shipped browser code.

Both repositories are written predominantly in TypeScript, as the per-language tables show, so this comparison is less about implementation language than about the shape and scope of the framework code each project maintains.

_A larger count does not mean more of the framework ships to a user's browser: what a built application includes depends on compiler output and bundling, not on repository size._

Sources: [sveltejs/svelte repository](https://github.com/sveltejs/svelte) · [vuejs/core repository](https://github.com/vuejs/core). Statements verified 2026-09-16.

Evidence and next steps:

- [sveltejs/svelte SLOC report](https://octocounts.com/github/sveltejs/svelte)
- [vuejs/core SLOC report](https://octocounts.com/github/vuejs/core)
- [Compare sveltejs/svelte and vuejs/core interactively](https://octocounts.com/compare?left=https%3A%2F%2Fgithub.com%2Fsveltejs%2Fsvelte&right=https%3A%2F%2Fgithub.com%2Fvuejs%2Fcore)

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

As of 2026-09-20, sveltejs/svelte and vuejs/core are close in size: 58,797 vs 60,701 code lines, a difference of less than 15%. Neither clearly outsizes the other by this metric.

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

### How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. sveltejs/svelte was counted at ref main (commit 636eaaaa6f06) on 2026-09-20; vuejs/core was counted at ref main (commit 4ab865a848a1) on 2026-09-19. 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)
