.i
8 claimants
1 primary
6 secondary
unambiguous primary
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.
9.7M
total files
1.9M
first seen 2021–2025 (19.8%)
2017
median year (half its files since)
Case variants in archive: .i (9.6M), .I (43.5K) — aggregated above.
Attribution status
This extension is attributed to SWIG as primary by 1 authoritative claim.
Authoritative sources: ✓ Linguist △ Pygments · secondary ✗ Wikidata · no claim △ Wikipedia · secondary
Claimants (9)
Languages that list
.i among their extensions. Strength reflects whether the upstream source treated it as their primary extension.| Language | Source | Strength |
|---|---|---|
| SWIG | linguist | primary |
| Assembly | linguist | secondary |
| COOL | pygments | secondary |
| Motorola 68K Assembly | linguist | secondary |
| OpenCL | pygments | secondary |
| Proguard | pygments | secondary |
| QMake | pygments | secondary |
| SWIG | pygments | secondary |
| Yorick | wikipedia | proposed |
Wikidata says… (2)
File formats, image formats, audio codecs and other non-PL
entities that claim
.i 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.
| Format | Class (Wikidata P31) | Suggested label | MIME | Notes | Action |
|---|---|---|---|---|---|
| Twist Import script Q105858101 file format | file format | — | text/plain | — | Use as new PL ↗ |
| VisualProlog file format Q131412989 file format | file format | — | — | — | Use as new PL ↗ |
Disambiguation rules (3)
Linguist heuristics that decide, by content, which language a
.i file actually is.| Rule | Predicts | Kind | Predicates (truncated) | Measured on SWH |
|---|---|---|---|---|
h/linguist/.i/0 | Motorola 68K Assembly | predicates | [{"kind": "any", "regexes": ["(?im)\\bmoveq(?:\\.l)?\\s+#(?:\\$-?[0-9a-f]{1,3}|%[0-1]{1,8}|-?[0-9]{1,3}),\\s*d[0-7]\\b", "(?im)^\\s*move(?:\\.[bwl])?\\s+(?:sr|usp),\\s*[^\\s]+", "(?im)^\\s*move\\.[bwl | |
h/linguist/.i/1 | SWIG | predicates | [{"kind": "any", "regexes": ["^[ \\t]*%[a-z_]+\\b|^%[{}]$"]}] | |
h/linguist/.i/2 | Assembly | predicates | [{"kind": "any", "regexes": ["(?i)mov\\s+[^\\s]+,", "^\\s+(i?)db\\s+[a-z\\d]"]}] |
SWH-mined examples (0)
No archived examples for .i in our local mirror yet.