.sol

2 claimants 2 primary 0 secondary shared primary (2)

SWH popularity

From the SWH-MSR-ARV dataset (Desmazières, Di Cosmo, Lorentz, MSR 2025; file nb_extensions_alphanum.csv) — one row per (ext, year) in the full SWH archive. Case-aggregated. citation.

7.3M
total occurrences
3.9M
since 2019 (54.0%)
1970–2023
years active

Case variants in archive: .sol (7.2M), .SOL (23.6K), .Sol (326), .soL (2), .sOl (1), .SOl (1) — aggregated above.

Attribution status

This extension is attributed to gerber-image; Solidity; 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 formatUse as new PL ↗
local shared object Q1312725
piece of data that websites using Adobe Flash may store on a user’s computer
software; file formatUse as new PL ↗
Scriptol source file Q132639172
file format
file formatUse as new PL ↗

Disambiguation rules (2)

Linguist heuristics that decide, by content, which language a .sol file actually is.
RulePredictsKindPredicates (truncated)
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. Useful for deciding what this extension actually is when the attribution is uncertain.
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)