Skip to main content


Welcome to jPOS!

If you're here, chances are you're working with ISO-8583 messages and need to encode (referred to as "pack" in jPOS) and decode ("unpack") them.

We have both good news and bad news to share:

The Good News: jPOS is an ideal solution for your needs, and our documentation is here to guide you on your journey.

The Bad News: jPOS is not just a library; it's a comprehensive framework. It's a modern and strongly opinionated framework that has been evolving for nearly 25 years (and still counting) with valuable input from a large community dealing with demanding and sensitive applications. We hope you find our documentation helpful as you explore jPOS and its capabilities.

While it may initially seem tempting to skip over many of the intricate framework details and opt for a brief snippet to pack and unpack a message in jPOS, it won't be long before you discover the necessity for more comprehensive solutions. Beyond the fundamental encoding and decoding, numerous additional requirements often come into play.

These include establishing and accepting connections to numerous remote endpoints, each with its specific configuration, managing ANS X9.24 related encryption, adhering to PCI logging and secret management requirements, interfacing with HSMs, implementing load balancing and fail-over mechanisms, handling PIN translation, incorporating EMV functionality, and addressing needs for alerting, monitoring, and profiling. It's important to note that jPOS has been purposefully designed to handle these complex requirements efficiently.

Disregarding our integrated components in favor of constantly shifting frameworks may not only be short-sighted but could also result in significant additional effort and complexity. Embracing the capabilities of jPOS as a comprehensive solution is a prudent and professional approach to building robust financial applications.


This website serves a dual purpose, catering to both newcomers seeking a tutorial-style introduction to jPOS and experienced jPOS developers and contributors seeking an extensive reference. As it evolves, our goal is to gradually replace the traditional jPOS and jPOS-EE programmer's guides with a more dynamic and accessible resource. Whether you're just starting with jPOS or have been an integral part of its development, this site aims to provide you with valuable insights, practical guidance, and a comprehensive reference source. Our long-term vision is to make this platform the go-to resource for all things jPOS, ensuring that users at every level can access the information they need efficiently and effectively.