Common operational pictures
Tracks and units with their amplifiers, direction of movement, speed leader and area of uncertainty, on the map the application already has.
Zaes Military Symbols draws every single-point symbol of MIL-STD-2525E Change 1: units, equipment, installations, activities and the point control measures, with every amplifier the standard places. MIL-STD-2525D, 2525C and 2525B, and APP-6(B), each draw with their own drawings. Symbols come out as SVG, a canvas or a data URL, or go straight onto OpenLayers, MapLibre, Leaflet and ArcGIS maps, free under the MIT license.
Every common operational picture, planning tool and training system shows units. The library draws them the way the standard does, in whichever version a program's data is coded, without a server or a font.
Tracks and units with their amplifiers, direction of movement, speed leader and area of uncertainty, on the map the application already has.
Place, move, resize and rotate symbols with an editor, save them as GeoJSON, and draw them into documents as SVG.
2525E and 2525D codes beside 2525C, 2525B and APP-6(B) letter codes, each drawn as its own standard draws it.
A symbol atlas draws each kind once for deck.gl or MapLibre icons, built in a worker if need be.
A friendly infantry company in each of the five standards, drawn by the library from each standard's own drawings. Open the live sample to build any symbol in any of them, browse every symbol a standard defines, and place them on OpenLayers or MapLibre, in 2D and 3D.
Give the library a symbol identification code and it returns the symbol, with where it sits on the map and everything it could not draw as the code asks. The root needs no map library and reads no DOM when it loads.
import { renderSymbol }
from '@zaes/military-symbols';
import { use2525C }
from '@zaes/military-symbols/2525c';
// A 2525E code, with its amplifiers.
const { svg, anchor, problems } = renderSymbol(
'130310001512110000000000000000',
{ size: 50, amplifiers: { T: '1-66', Q: 45 } }
);
// A 2525C letter code, drawn as 2525C draws it.
use2525C();
renderSymbol('SFGPUCI----E---');
Text and graphic amplifiers by their Table VI letter, laid out by each frame's figure; the area of uncertainty, dead reckoning trailer and pairing line in map units on the ground.
Frame, fill and icon as Table XIV combines them, the light, medium and dark colour ranges, unfilled and monochrome, and a house style's colours and line weight.
The same drawing in each form, synchronous, in a page, a worker or Node, and an image provider for libraries that ask for unit symbols.
A value the standard does not define is drawn as far as it can be and listed, so bad data is visible rather than silently dropped.
| Package | What it provides |
|---|---|
@zaes/military-symbols (MIT, npm) | Every single-point symbol as SVG, canvas or a data URL, and the symbol atlas; …/2525d, …/2525c, …/2525b and …/app6b for the other standards; …/openlayers, …/maplibre and …/editor to place and edit on a map; …/leaflet, …/arcgis; a symbol picker in …/picker |
@zaes/sidc (MIT, npm) | Symbol identification codes of 2525B to E and APP-6 read, validated and written, the 2525E catalog of every entity and modifier, and 2525C letter codes converted to 2525D. No dependencies |
The library follows MIL-STD-2525E Change 1 (March 2025), with MIL-STD-2525D, 2525C and 2525B Change 2, and NATO APP-6(B). Every drawing is scored against the plate that defines it, its placement measured on the plate's octagon, and every point control measure's anchor checked against its template.
Zaes does not claim government certification or independent conformance validation. Programs should perform the review appropriate to their mission and configuration.
Numeric codes of versions 10 to 16, APP-6(D) and APP-6(E) among them, for every symbol set of single-point symbols, with each edition's own drawings.
Letter codes, drawn with each standard's own frames and icons; a code with no drawing of its own draws as its nearest parent and says so.
The 256 points of Appendix L whose draw rule takes one anchor at screen size, each field placed where its template puts it.
Lines, areas and graphics sized in map units are the tactical graphics library's; weather and ocean graphics are the METOC library's.
Send us the standards your data is coded in, the map engine and where the symbols have to appear, including Cesium 3D or TAK. We can tell you whether the open source package covers it and help with the integration.