.fs

5 claimants 3 primary 2 secondary shared primary (3)

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.

2.4M
total occurrences
516.1K
since 2019 (21.9%)
1970–2023
years active

Case variants in archive: .fs (2.4M), .FS (672), .Fs (17), .fS (6) — aggregated above.

Attribution status

This extension is attributed to F#; F#; F#; Filterscript; Forth as primary by 5 authoritative claims.

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

Disagree or have a correction? Open a labelling issue.

Claimants (10)

Languages that list .fs among their extensions. Strength reflects whether the upstream source treated it as their primary extension.
LanguageSourceStrength
F#linguistprimary
F#pygmentsprimary
F#wikidataprimary
Filterscriptlinguistprimary
Forthwikidataprimary
Filterscriptpygmentssecondary
Forthlinguistsecondary
Forthpygmentssecondary
Forth (programming language)pygmentssecondary
GLSLlinguistsecondary

Wikidata says… (4)

File formats, image formats, audio codecs and other non-PL entities that claim .fs 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
Final Burn savestate Q105855448
file format
file formatapplication/octet-streamUse as new PL ↗
Forth source code file Q126828176
file format
file formatUse as new PL ↗
Visual F# Source File Q126822716
file format
file formattext/x-fsharpUse as new PL ↗

Disambiguation rules (4)

Linguist heuristics that decide, by content, which language a .fs file actually is.
RulePredictsKindPredicates (truncated)
h/linguist/.fs/0Forthpredicates[{"kind": "any", "regexes": ["^(: |new-device)"]}]
h/linguist/.fs/1F#predicates[{"kind": "any", "regexes": ["^\\s*(#light|import|let|module|namespace|open|type)"]}]
h/linguist/.fs/2GLSLpredicates[{"kind": "any", "regexes": ["^\\s*(#version|precision|uniform|varying|vec[234])"]}]
h/linguist/.fs/3Filterscriptpredicates[{"kind": "any", "regexes": ["#include|#pragma\\s+(rs|version)|__attribute__"]}]

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.
ExprEquiv.fs · 7773 B · seen 379× in SWH
predicted: F# via heuristic
swh:1:cnt:c88ae7180607d3650959a6cd946de3f27af7b250;origin=https://github.com/septract/starling-tool;anchor=swh:1:rev:cfbaf8489ba4b0425e6ad47d552ae853c86cb9ff;path=/ExprEquiv.fs
Open in SWH · Raw bytes
Request more SWH-mined examples
If the examples above don't disambiguate what .fs is, request a fresh mining run.
(or open the pre-filled issue directly)