React Native vs Flutter: source lines of code compared

The React Native vs Flutter comparison on OctoCounts shows side-by-side source line counts for react/react-native and flutter/flutter, 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-native and flutter/flutter 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-05, react/react-native contains 817,801 total lines (599,307 code) across 5,457 files, while flutter/flutter contains 2,341,419 total lines (1,646,969 code) across 9,818 files as of 2026-11-05. flutter/flutter has about 2.7x the counted code lines of react/react-native 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/react-nativeflutter/flutter
Files5,4579,818
Total lines817,8012,341,419
Code lines599,3071,646,969
Comment lines129,506419,086
Blank lines88,988275,364
Languages counted2935

Top languages in react/react-native: JavaScript (43.4% of code), Kotlin (12.0% of code), C++ (11.7% of code). Top languages in flutter/flutter: Dart (59.5% of code), C++ (22.3% of code), C Header (5.6% of code). C++, C Header, JSON appear in both top language lists; JavaScript, Kotlin appear only in react/react-native's top languages; Dart, Objective-C++ appear only in flutter/flutter's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. react/react-native was counted at ref main (commit fe398e511d7b) on 2026-11-05; flutter/flutter was counted at ref master (commit c3f332d1739d) on 2026-11-05. 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-native: 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. flutter/flutter: 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-native is the React Native repository: the framework's JavaScript layer, native modules and components across several native languages, plus docs and test infrastructure. flutter/flutter is the Flutter SDK repository, including framework, tools, and the engine source merged into engine/src/flutter. The two repositories package their native and framework layers differently, so inspect each pinned tree's scope before comparing totals.

React Native bridges JavaScript framework code and native components; Flutter includes its Dart framework and engine sources in one repository. Effective filters determine which files from those layers contribute to the selected reports.

A source archive is not a shipped application: builds may include engine binaries, dependencies, generated output, and assets not represented by the selected source count. Do not infer an equal packaging margin for the two frameworks.

Repository size is not app install size: a finished app includes an engine build, framework code, and assets that these repositories account for differently. Compare the counts as source-tree sizes, not as what ships to a device.

Sources: react/react-native repository · Flutter engine and framework repository merge announcement · flutter/flutter repository (SDK framework, engine and tools). 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-native or flutter/flutter?

As of 2026-11-05, react/react-native contains 817,801 total lines (599,307 code) across 5,457 files, while flutter/flutter contains 2,341,419 total lines (1,646,969 code) across 9,818 files as of 2026-11-05. flutter/flutter has about 2.7x the counted code lines of react/react-native 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-native, flutter/flutter, or any repository.

How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. react/react-native was counted at ref main (commit fe398e511d7b) on 2026-11-05; flutter/flutter was counted at ref master (commit c3f332d1739d) on 2026-11-05. 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.