# Neovim vs VS Code: source lines of code compared

The Neovim vs VS Code comparison on OctoCounts shows side-by-side source line counts for neovim/neovim and microsoft/vscode, 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-21, neovim/neovim contains 1,040,734 total lines (726,800 code) across 2,663 files, while microsoft/vscode contains 3,086,068 total lines (2,403,814 code) across 10,346 files as of 2026-09-21. microsoft/vscode is about 3.3x the size of neovim/neovim by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

| Metric | [neovim/neovim](https://octocounts.com/github/neovim/neovim) | [microsoft/vscode](https://octocounts.com/github/microsoft/vscode) |
| --- | ---: | ---: |
| Files | 2,663 | 10,346 |
| Total lines | 1,040,734 | 3,086,068 |
| Code lines | 726,800 | 2,403,814 |
| Comment lines | 194,297 | 354,208 |
| Blank lines | 119,637 | 328,046 |
| Languages counted | 12 | 12 |

Top languages in neovim/neovim: C (37.7% of code), Vim Script (32.6% of code), PO File (15.5% of code). Top languages in microsoft/vscode: TypeScript (80.3% of code), JSON (13.3% of code), CSS (2.9% of code). C, Vim Script, PO File, Lua, C Header appear only in neovim/neovim's top languages; TypeScript, JSON, CSS, TSX, Rust appear only in microsoft/vscode's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. neovim/neovim was counted at ref master (commit 222c615c8a4b) on 2026-09-21; microsoft/vscode was counted at ref main (commit 5b5f322b21f9) on 2026-09-21. See the [counting methodology](https://octocounts.com/docs/methodology) for ignored directories and analysis options.
## About this comparison

neovim/neovim counts the Neovim editor core: a C codebase with an extensive Lua and Vimscript runtime directory of bundled plugins, syntax files, and documentation. microsoft/vscode counts the VS Code product repository — a predominantly TypeScript Electron application with its build scripts, test suites, and product scaffolding. The two counts are not directly comparable: one is an editor core, the other a full product tree.

The per-language tables show the two editors' different implementation choices directly: Neovim's counted tree is dominated by C with a large runtime layer of Lua and Vimscript, while VS Code's is dominated by TypeScript as an Electron application.

Neovim's count includes its bundled runtime files — filetype plugins, syntax definitions, and documentation — which are user-facing content rather than compiled code; the per-language table of its report shows how large that share is.

_These counts do not measure which editor is more capable or which one you should use: the two repositories package different scopes of software, and editor capability depends on extensions and configuration either way._

Sources: [neovim/neovim repository](https://github.com/neovim/neovim) · [microsoft/vscode repository](https://github.com/microsoft/vscode). Statements verified 2026-09-16.

Evidence and next steps:

- [neovim/neovim SLOC report](https://octocounts.com/github/neovim/neovim)
- [microsoft/vscode SLOC report](https://octocounts.com/github/microsoft/vscode)
- [Compare neovim/neovim and microsoft/vscode interactively](https://octocounts.com/compare?left=https%3A%2F%2Fgithub.com%2Fneovim%2Fneovim&right=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode)

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, neovim/neovim or microsoft/vscode?

microsoft/vscode has more code: 2,403,814 code lines versus 726,800 for neovim/neovim, about 3.3x as much, based on cached OctoCounts reports as of 2026-09-21.

### 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 neovim/neovim, microsoft/vscode, or any repository.

### How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. neovim/neovim was counted at ref master (commit 222c615c8a4b) on 2026-09-21; microsoft/vscode was counted at ref main (commit 5b5f322b21f9) on 2026-09-21. 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)
