Skip to main content
iso8583sim is a toolkit for card payment messages. It covers the 1987, 1993 and 2003 versions of ISO 8583 and the VISA, Mastercard, AMEX, Discover, JCB and UnionPay networks, from a single message up to a mock issuer host under load.

Start here

Quick start

Build, parse and validate your first messages in a few minutes.

ISO 8583 concepts

MTIs, bitmaps and data elements, explained with examples.

Work with messages

Parse, build and validate

The core API, with network-aware validation and EMV (field 55) support.

Card networks

What each network requires, and the field 22 and field 48 rules the validator enforces.

PIN blocks and MACs

ISO 9564 PIN blocks and ISO 9797-1 MACs for fields 52, 64 and 128.

Version conversion

Convert messages between the 1987, 1993 and 2003 versions.

Simulate a network

Wire formats

Binary bitmaps, packed BCD and EBCDIC, byte for byte.

Mock host and load testing

Run a rules-driven issuer, send over TCP and measure throughput.

Other ways in

CLI

Parse, explain, convert, serve and load test from the shell.

REST API

Every feature over HTTP, with an interactive playground.

MCP server

Let Claude, Cursor and other assistants work with messages.

Performance

With the compiled extensions (included in the wheels for Linux, macOS and Windows), iso8583sim parses about 180,000 messages per second on Apple Silicon. See Performance for the numbers and tuning. iso8583sim is developed on GitHub and dual-licensed: free under the GNU AGPL-3.0, or under a commercial license for closed-source products and services.