.s

9 claimants 6 primary 2 secondary shared primary (6)

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.

8.8M
total files
4.6M
first seen 2021–2025 (52.2%)
2020
median year (half its files since)

Case variants in archive: .s (5.1M), .S (3.7M) — aggregated above.

Attribution status

This extension is attributed to ASM; GAS; R; R (programming language); S; Unix Assembly as primary by 7 authoritative claims.

Authoritative sources: ✓ Linguist ✓ Pygments ✓ Wikidata · Q165436 △ Wikipedia · secondary

Disagree or have a correction? Open a labelling issue.

Claimants (10)

Languages that list .s among their extensions. Strength reflects whether the upstream source treated it as their primary extension.
LanguageSourceStrength
ASMpygmentsprimary
ASMwikidataprimary
GASpygmentsprimary
Rpygmentsprimary
R (programming language)pygmentsprimary
Spygmentsprimary
Unix Assemblylinguistprimary
Assemblylinguistsecondary
Motorola 68K Assemblylinguistsecondary
PROMALwikipediaproposed

Wikidata says… (4)

File formats, image formats, audio codecs and other non-PL entities that claim .s 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
SREC Q947746
file format
file format———Use as new PL ↗
Digital Micrograph Script Q105852037
file format
file format———Use as new PL ↗
Nitpicker flow Q105852396
file format
file format———Use as new PL ↗

Disambiguation rules (3)

Linguist heuristics that decide, by content, which language a .s file actually is.
RulePredictsKindPredicates (truncated)Measured on SWH
h/linguist/.s/0Unix Assemblypredicates[{"kind": "any", "regexes": ["(?i:mov[lq]?)\\s+[%\\$]"]}]
h/linguist/.s/1Assemblypredicates[{"kind": "any", "regexes": ["(?i:mov)\\s+[^\\s%]{2,},"]}]
h/linguist/.s/2Motorola 68K Assemblypredicates[{"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

SWH-mined examples (2)

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.
Assembly (1) — 1 via Linguist heuristic
fft_vfp.S · 19099 B · seen 999× in SWH
predicted: Assembly via heuristic
swh:1:cnt:ac601325f25ddc374d2c181ee6470d20a9659371;origin=https://github.com/mabeijianxi/small-video-record;anchor=swh:1:rev:268e115f634b10198be8c999d9ed06639d0855c0;path=/SmallVideoRecord2/SmallVideoLib2/ffmpeg-3.2.5/libavcodec/arm/fft_vfp.S
Open in SWH · Raw bytes
unclassified (1) — 1 via fallback
neoverse_v3.S · 3632 B · seen 487× in SWH
predicted: unclassified via fallback
swh:1:cnt:931d59bd45801941c0278bb70707ede939751203;origin=https://github.com/altera-fpga/arm-trusted-firmware;anchor=swh:1:rev:a7f6d2cde7d96fe544f355c493174c00cfb8f0f3;path=/lib/cpus/aarch64/neoverse_v3.S
Open in SWH · Raw bytes
Request more SWH-mined examples
If the examples above don't disambiguate what .s is, request a fresh mining run.
(or open the pre-filled issue directly)