Pick an MTI, tick the fields you need and type the values. The bitmap, the secondary bitmap and every LLVAR / LLLVAR length prefix are computed for you — you never count characters by hand.
A complete ISO 8583 message: four-digit MTI, primary bitmap (plus a secondary bitmap the moment you tick a field above 64), then every ticked field in ascending order, each with its length prefix if it is a variable-length field.
Before the message is shown it is fed straight back into the same parsing code that runs on the parser page. If a single byte does not come back identical, you get a red failure instead of a message.
A field's entry in the dictionary is four things: its name, whether it is fixed-length (FIX) or variable-length (LLVAR / LLLVAR), its maximum length, and its data type (n numeric, an alphanumeric, ans alphanumeric + special, b binary, z track data). Those four decide how the value is written on the wire, and the encoding you pick decides the rest.
| Encoding | MTI | Length prefix | Numeric & binary fields | Text fields |
|---|---|---|---|---|
| ASCII | 4 characters | 2 or 3 decimal characters | one character per digit | one character per character |
| Hex / BCD | 4 hex characters | 2 or 3 decimal digits, written as hex characters | packed: two digits per byte, counted in hex characters | two hex characters per character |
| EBCDIC | 4 EBCDIC bytes | 2 or 3 EBCDIC digits | binary fields stay hex | one EBCDIC byte per character |
The bitmap is written as hex characters in all three, which is what the parser on this site expects. Some real interfaces put the bitmap on the wire as eight raw bytes instead — same 64 bits, half the characters.
In Hex / BCD mode a numeric field is packed two digits to a byte, so lengths are counted in digits, not bytes: a 19-digit PAN is 19 in the LLVAR prefix and occupies 19 hex characters — nine and a half bytes. A field with an odd digit count therefore leaves the stream half a byte out of step, and the builder says so under the message. Real scheme specifications pad such fields to a byte boundary, and each one states which side the padding goes on; that padding is a per-interface decision, so it is not added for you.
Each bit of the 64-bit primary bitmap says whether one field is present: bit 2 = DE2, bit 3 = DE3, and so on. Tick a field above 64 and bit 1 turns on, which means a second 64-bit bitmap follows the first and covers fields 65–128. That is the single most common thing hand-built messages get wrong — a 0400 reversal carrying DE90 needs the secondary bitmap, so its first hex character is F, not 7. The bitmap calculator takes the same bitmap apart from the other direction.
ans data of the length you type.The six starting points are the annotated messages from ISO 8583 message examples, field for field. Load one, change the amount or the STAN, and you have a test message that differs from a known-good message in exactly the way you meant.