A Symbol Identification Code (SIDC) is the string you pass to milsymbol that completely describes which military symbol to render — its affiliation, battle dimension, status, icon function, and modifiers. EveryDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/spatialillusions/milsymbol/llms.txt
Use this file to discover all available pages before exploring further.
ms.Symbol call begins with an SIDC; milsymbol reads it to determine the frame shape, fill color, icon glyph, echelon badge, and every other visual property of the resulting symbol. Getting the SIDC right is therefore the most important step before any styling option is applied.
Two SIDC Formats
Milsymbol supports two fundamentally different SIDC encodings. The library auto-detects which one you are using by inspecting the first two characters: if they are numeric, the code is treated as a number-based SIDC; otherwise it is treated as a letter-based SIDC.You never need to declare the format explicitly. Milsymbol checks
isNaN(sidc.substr(0, 2)) internally and routes to the correct parser
automatically. The numberSIDC property returned by getMetadata() tells
you which path was taken.Letter-Based SIDC (15 characters)
The letter-based format originated in MIL-STD-2525B/C and STANAG APP-6 B/D. It is a 15-character alphanumeric string. Positions are 1-indexed in the standard documents but 0-indexed in JavaScript string methods."SFG-UCI----D"
The hyphens (-) and asterisks (*) are treated as wildcards — milsymbol normalises * to - internally, so both are equivalent.
Letter-Based SIDC Character Positions
Letter-Based SIDC Character Positions
| Position | Field | Example values | Description |
|---|---|---|---|
| 0 | Coding scheme | S G W I O E | Selects the symbol set (Warfighting, Tactical Graphics, METOC, SIGINT, Stability Operations, Emergency Management) |
| 1 | Standard identity (affiliation) | F H N U P A S J K | Friendly, Hostile, Neutral, Unknown, Pending, Assumed Friend, Suspect, Joker, Faker — see table below |
| 2 | Battle dimension | P A G S U F Z X | Space, Air, Ground, Sea Surface, Subsurface, Special Operations Forces, Unknown, Other |
| 3 | Status | P A C D X F | Present, Anticipated, Fully Capable, Damaged, Destroyed, Full to Capacity — see table below |
| 4–9 | Function ID | UCI--- ------ | 6-character code identifying the specific icon within the battle dimension |
| 10–11 | Symbol modifier 1 & 2 | -- AE MO | Echelon, mobility, headquarters, task force, feint/dummy indicators |
| 12–13 | Country code | -- US GB | ISO-like two-letter country code |
| 14 | Order of battle | - A E C | Air, Electronic, Cyber order-of-battle type |
Number-Based SIDC (20–30 digits)
The number-based format was introduced in MIL-STD-2525D/E and STANAG APP-6 D/E. It uses a numeric string that is conventionally zero-padded to 30 digits (though trailing zeros can be omitted in practice). This format encodes the same information as the letter format but uses a structured numeric scheme with explicit version and symbol-set fields. Example:"130310001412110000000000000000"
Number-Based SIDC Field Groups
Number-Based SIDC Field Groups
| Digit positions | Field | Key values | Description |
|---|---|---|---|
| 0–1 | Version | 10–12 = 2525D/APP-6D, 13–14 = 2525E/APP-6E | Determines which edition rules to apply |
| 2 | Context (Standard Identity 1) | 0 = Reality, 1 = Exercise, 2 = Simulation | Broad context category |
| 3 | Affiliation (Standard Identity 2) | 0/1 = Unknown, 2/3 = Friend, 4 = Neutral, 5/6 = Hostile | Symbol affiliation; drives frame shape and fill color |
| 4–5 | Symbol Set | 00 = Unknown/Sea, 01 = Air, 02 = Air Missile, 05 = Space Air, 06 = Space Air, 10 = Land Unit, 11 = Land Civilian Unit, 12 = Land Equipment, 15 = Land Equipment (SIGINT/alt), 20 = Installation, 25 = Control Measure, 27 = Land Dismounted Individual, 30 = Sea Surface, 35 = Subsurface, 36 = Mine Warfare, 39 = Subsurface, 40 = Activity, 50 = Space, 51 = Space, 52 = SIGINT, 53 = Sea, 54 = Subsurface, 60 = Cyberspace | Selects the category of symbol |
| 6 | Status | 0 = Present, 1 = Anticipated, 2–5 = condition bar (FullyCapable/Damaged/Destroyed/FullToCapacity) | Drives dash patterns and condition bars |
| 7 | HQ / Task Force / Dummy | 0 = none, see standard for values | Adds staff, task force bracket, or feint/dummy diagonal |
| 8–9 | Echelon / Mobility | 11–26 = echelons, 31–62 = mobility, 71–72 = leadership | Combined echelon and mobility amplifier |
| 10–19 | Function ID | 10-digit numeric code | Identifies the specific icon within the symbol set |
| 20–21 | Modifier 1 & 2 | 1-digit each | Additional sector modifiers |
| 22 | Frame shape override (2525E) | 0 = use symbol set default | Overrides frame geometry in edition E |
| 23–29 | Reserved / padding | 0000000 | Zero-padded; reserved for future use |
Affiliation Values
Affiliation drives the frame shape (diamond = hostile, rectangle = friendly, etc.) and the fill color.- Letter-Based
- Number-Based
| Character | Affiliation shown | Notes |
|---|---|---|
F | Friend | Standard friendly rectangle frame |
A | Friend | Assumed Friend (dashed frame) |
D | Friend | Exercise Friend |
M | Friend | Exercise Assumed Friend |
H | Hostile | Filled diamond frame |
S | Hostile | Suspect (dashed frame) |
J | Friend (rendered) | Joker — displayed as Friend shape |
K | Friend (rendered) | Faker — displayed as Friend shape |
N | Neutral | Filled square frame |
L | Neutral | Exercise Neutral |
P | Unknown | Pending (dashed frame) |
U | Unknown | Unknown |
G | Unknown | Exercise Unknown |
W | Unknown | Exercise Unknown (pending) |
O | Unknown | Unknown |
Status / Condition Values
Status controls whether the symbol frame is dashed (anticipated/pending) or has a colored condition bar at the bottom.| Status value | Letter code | Number code | Meaning |
|---|---|---|---|
| Present | P (position 3) | 0 (position 6) | Symbol is present, no modifier |
| Anticipated/Planned | A | 1 | Dashed frame (anticipated dash array) |
| Fully Capable | C | 2 | Condition bar |
| Damaged | D | 3 | Condition bar |
| Destroyed | X | 4 | Condition bar |
| Full to Capacity | F | 5 | Condition bar |
Context Values
Context indicates whether the symbol belongs to a real operation, an exercise, or a simulation. Exercise symbols receive a stylized “X” modifier in their rendering.| Context | Letter codes | Number code (position 2) |
|---|---|---|
| Reality | F H N U P S J K O A (non-exercise affiliations) | 0 |
| Exercise | G W D L M J K (exercise affiliations) | 1 |
| Simulation | — | 2 |
Echelon Values
Echelon amplifiers indicate the unit size. The full set defined in milsymbol is:11 through 26.
Full Echelon Code Table
Full Echelon Code Table
| Number code | Letter code | Echelon |
|---|---|---|
11 | A | Team/Crew |
12 | B | Squad |
13 | C | Section |
14 | D | Platoon/detachment |
15 | E | Company/battery/troop |
16 | F | Battalion/squadron |
17 | G | Regiment/group |
18 | H | Brigade |
21 | I | Division |
22 | J | Corps/MEF |
23 | K | Army |
24 | L | Army Group/front |
25 | M | Region/Theater |
26 | N | Command |
Common SIDC Examples
Detecting the Format Programmatically
After constructing a symbol, callgetMetadata() to inspect which format was used:
functionid field in the returned metadata always holds the icon-identifying portion of the SIDC regardless of format, making it useful for display or lookup purposes.
Passing SIDC to the Symbol Constructor
The SIDC can be provided as the first positional argument or as thesidc property inside an options object:
