MilX File Format — map.army Exchange Format Guide

map.army uses MilX (Military Exchange Format) as its native file format for saving, sharing, and importing military situations. This page is an orientation reference: what the format is, what files belong to it, and how to obtain the full specification.

What MilX is

MilX is an XML-based exchange format that carries MIL-STD-2525 military symbology and tactical graphics between systems. It is maintained by gs-soft AG alongside the MSS (Military Symbol Service) and is the same format used by industry partners, command and control systems, and military simulation applications that exchange situational data with map.army.

Conceptually, a MilX document contains:

A MilX document holds layers, each with symbols and tactical graphics, plus metadata.
  • Layers (1) — named, ordered containers for symbols and tactical graphics.
  • Symbols (2) — placements with a MIL-STD-2525 symbol identifier, position, affiliation, status, and the relevant modifiers.
  • Tactical graphics (3) — multi-point shapes (lines, areas, range rings, etc.) with their geometry and modifiers.
  • Metadata (4) — creator, timestamps, coordinate system, optional MilX version.

Compatibility with MIL-STD-2525C / JC3IEDM is a design constraint: a MilX file is readable by any consumer that understands the standard.

That does not mean a MilX file is limited to what the bare standard can express. MilX carries each symbol as an opaque MSS string, modifiers included, rather than modelling the symbology itself — so the map.army extensions ride along untouched. The Swiss sets available in Extended work mode and the Icon Extension Modifiers both survive a save and a share.

What the other end sees depends on what it is:

  • A consumer built on MSS that holds only the MIL-STD-2525C library shows the fallback symbol the library defines for that extended symbol — a designated 2525C substitute, not a blank.
  • A consumer that reads only the raw symbol identifier sees a code it does not recognise, and handles it however it handles any unknown identifier.

File extensions

The uncompressed .milxly file and the zipped .milxlyz file carry the same content.
ExtensionDescription
.milxly (1)Uncompressed MilX layer file. Plain XML; human-readable, easily diff-able, large.
.milxlyz (2)Zip-compressed MilX layer file. The default output of Save Layers in map.army; the same XML inside a .zip container. Recommended for sharing.

Both extensions carry the same payload; the compressed form is the default for exchange because typical situation maps with many symbols compress aggressively.

Known constraints

'MilX-Layer Advanced Settings' checkbox in the map.army Options panel

A few practical constraints worth knowing when generating or editing MilX outside the app:

  • Symbol identifiers follow MIL-STD-2525. map.army does not police their length itself — a file that comes back with something wrong in it will have been rejected or adjusted by the conversion service, and the app reports what happened rather than silently dropping features.
  • Image and vector layers are not embedded. When map.army saves a .milxlyz, image layers and online-source vector layers are not serialised into the file. Only MilX symbology travels with the export. (See Import Overlays for the image-overlay sidecar mechanism.)
  • Coordinate system. The default coordinate system in MilX exports is WGS84. The “MilX-Layer Advanced Settings” option in Options → General lets you convert to a different coordinate system or to an older MilX version before download.
  • Targeting an older version rewrites modifiers. By default nothing is substituted — the export uses the current symbol library. But if you switch on the advanced settings and pick an older library version, the service runs every legacy conversion newer than the version you chose, and some of those replace one modifier with another (a destroyed marker becoming an operational-condition modifier, for example). Use it when the receiving system genuinely needs the older version, and check the result; the default is the lossless choice.
  • SysCustPropList is not for exchange. The format carries a per-layer and per-graphic custom-property slot for partner systems, and the schema states plainly that it is for internal use and should not be relied on when exchanging data with other partners. map.army uses it to stamp NVG document metadata onto a layer. Do not build an integration on it.

Obtaining the full schema

The complete MilX schema and validation rules are not published on this documentation site. If you are integrating MilX into your own software or want to generate .milxly programmatically (for example via a script or an LLM-assisted tooling pipeline), contact gs-soft AG for the current specification:

gs-soft works with industry partners on MilX integration as part of broader MSS / MilX licensing — see the FAQ entry Can MSS and MilX Web Services be used by others? for context.

Last updated: