.sol

2 claimants 2 primary 0 secondary shared primary (2)

SWH popularity

Distinct files in the full Software Heritage archive (2026-06-04 export), dated by first appearance, following Desmazières, Di Cosmo, Lorentz (MSR 2025). Case-aggregated. citation.

13.0M
total files
10.0M
first seen 2021–2025 (77.3%)
2022
median year (half its files since)

Case variants in archive: .sol (12.9M), .SOL (99.3K), .Sol (629), .SOl (3), .soL (2), .sOl (1) — aggregated above.

Attribution status

This extension is attributed to gerber-image; Solidity as primary by 3 authoritative claims.

Authoritative sources: ✓ Linguist ✓ Pygments ✗ Wikidata · no claim △ Wikipedia · secondary

Disagree or have a correction? Open a labelling issue.

Claimants (5)

Languages that list .sol among their extensions. Strength reflects whether the upstream source treated it as their primary extension.
LanguageSourceStrength
gerber-imagepygmentsprimary
Soliditylinguistprimary
Soliditypygmentsprimary
gerber-imagelinguistsecondary
Soliditywikipediaproposed

Wikidata says… (4)

File formats, image formats, audio codecs and other non-PL entities that claim .sol on Wikidata (property P1195) or in the Wikipedia infobox. Source: data/derived/external_extension_index.csv. Click Use as new PL on any row to open the Add-PL form pre-filled with that entry's name, Wikipedia/Wikidata URL, and this extension — one submission creates the PL + claim.
Right entry isn't listed? Add manually ↗
FormatClass (Wikidata P31)Suggested labelMIMENotesAction
sol Q7555481
file format for representing solutions of mathematical programming problems
file format———Use as new PL ↗
local shared object Q1312725
piece of data that websites using Adobe Flash may store on a user’s computer
software; file format———Use as new PL ↗
Scriptol source file Q132639172
file format
file format———Use as new PL ↗

Disambiguation rules (2)

Linguist heuristics that decide, by content, which language a .sol file actually is.
RulePredictsKindPredicates (truncated)Measured on SWH
h/linguist/.sol/0Soliditypredicates[{"kind": "any", "regexes": ["\\bpragma\\s+solidity\\b|\\b(?:abstract\\s+)?contract\\s+[a-zA-Z$_][a-zA-Z0-9$_]*(?:\\s+is\\s+(?:[a-zA-Z0-9$_][^\\{]*?)?)?\\s*\\{"]}]
h/linguist/.sol/1gerber-imagepredicates[{"kind": "any", "regexes": ["^[DGMT][0-9]{2}\\*(?:\\r?\\n|\\r)"]}]

SWH-mined examples (1)

Real archived programs with this extension, byte-verified against the SWH archive, grouped by predicted language and by how the prediction was made. Useful for deciding what this extension actually is when the attribution is uncertain.
Solidity (1) — 1 via Linguist heuristic
C85AbBdd7aC6E31736F04047E45cB770EB00196e_SimpleCollectible.sol · 63558 B · seen 695× in SWH
predicted: Solidity via heuristic
swh:1:cnt:a070f6ba7cdfa89551b7ff9ecade802e972f5d00;origin=https://github.com/jeffchen006/nft-empirical-study;anchor=swh:1:rev:5e77dec5057b850605f1e3db8827f79101831cff;path=/contracts/mainnet/c8/C85AbBdd7aC6E31736F04047E45cB770EB00196e_SimpleCollectible.sol
Open in SWH · Raw bytes
Request more SWH-mined examples
If the examples above don't disambiguate what .sol is, request a fresh mining run.
(or open the pre-filled issue directly)