6 tools · both directions · hex & ASCII

Data Converters

Format conversion and encoding utilities — Base64, Base94, BCD, character encoding, check digits and the Track 2 codec. Each one works in both directions, on the representations payment data actually arrives in.

ISO8583StudioProfessional Payment Testing
Tool Categories
Payment Simulators9 tools
EMV & Card Tools12 tools
Cryptographic Tools7 tools
Key Management10 tools
Payment Utilities21 tools
Data Converters6 tools
Card Validation4 tools
DUKPT Tools6 tools
MAC Tools5 tools
Data Converters
Format conversion and encoding utilities
6 tools
012 tools
Text-safe encodings
Base64 · Base94
022 tools
Wire representations
BCD · binary · hex · ASCII
032 tools
Card data
Luhn · Track 2 / tag 57
All tools
Every tool is a two-direction pair
hex-driven · audit log
Base64 Encoder01
Encode bytes to Base64 or decode a Base64 string back to hex.
Base94 Encoder01
The denser printable-ASCII variant, encoded and decoded the same way.
BCD Converter02
Pack a decimal string two digits per byte, or unpack one.
Character Encoder02
Convert between binary, hexadecimal, decimal and ASCII.
Check Digit Calculator03
Generate or validate a Luhn (Mod 10) check digit.
Track 2 Codec03
Build Track 2 from its parts, or decode any of its three shapes.
›Opening BCD Converter · Pack a decimal string two digits per byte, or unpack one.
Activity log
Encode, then decode the result to prove the format.
On this page
utility-tools · Data Converters hub — above

Introduction

The converters live under Tools → Data Converters and handle format conversion and encoding: the representations payment data arrives in — Base64 on an API, BCD in an ISO 8583 field, packed hex in EMV tag 57 — and the check digits that guard them. Every tool is a two-direction pair: one card encodes, the other decodes.

Base64 on an APIText-safe bytes crossing a JSON or XML boundary.
BCD in an ISO 8583 fieldTwo digits per byte, the way numeric fields and EMV amounts travel on the wire.
Packed hex in EMV tag 57Track 2 equivalent data, D-separated and F-padded to a whole byte.
Check digitsThe Luhn digit that rejects a wrong PAN before any cryptography runs.

All tools

Every converter in this category — each card links to the detailed reference below.

01 · Text-safe encodings

Base64 Encoder

Base64 turns arbitrary bytes into a text-safe alphabet — the form payment data usually takes when it crosses a JSON or XML boundary. Encode and decode sit side by side.

utility-tools · Encode to Base64 — Encode to Base64 with an ASCII input encoding drop-down and an Input Data field above the Encode button

utility-tools · Decode from Base64 — Decode from Base64 with a single Base64 Data field above the Decode button

Inputs

  • Input Encoding — Drop-down: ASCII or hexadecimal. It tells the encoder how to read what you paste, so a hex key and a plain string both work.
  • Input Data — The bytes to encode, in the format above.
  • Base64 Data — On the decode side; the result comes back as hexadecimal.
01 · Text-safe encodings

Base94 Encoder

Base94 packs bytes into the full printable ASCII range, so it fits more data into the same number of characters than Base64. Some key-injection and terminal-management protocols use it for exactly that reason.

utility-tools · Encode to Base94 — Encode to Base94 with an ASCII input encoding drop-down and an Input Data field above the Encode button

utility-tools · Decode from Base94 — Decode from Base94 with a single Base94 Data field above the Decode button

The fields mirror the Base64 tool exactly — an Input Encoding drop-down and Input Data going in, Base94 Data coming back, decoded to hexadecimal.

02 · Wire representations

BCD Converter

Binary Coded Decimal stores two digits per byte, which is how numeric ISO 8583 fields and EMV amounts are carried on the wire. The converter goes both ways between a decimal string and its packed form.

utility-tools · Encode to BCD — Encode to BCD with a Decimal Data field holding 1234567890 above the Encode button

utility-tools · Decode from BCD — Decode from BCD with a Hexadecimal input format drop-down and a BCD Data field holding 1234567890 above the Decode button

Inputs

  • Decimal Data — Digits to pack. An odd digit count is padded to a whole byte.
  • Input Format — On the decode side: Hexadecimal by default.
  • BCD Data — The packed value to unpack.
02 · Wire representations

Character Encoder

A general conversion bench for the representations that are not a payment format in their own right — binary, hexadecimal, decimal and ASCII. One drop-down picks the direction.

utility-tools · Encoding Converter — Encoding Converter with a Conversion Type drop-down set to Binary to Hexadecimal and an Input Data field above the Convert button

Inputs

  • Conversion Type — Drop-down naming both ends of the conversion, e.g. Binary -> Hexadecimal. Pick the pair and the tool applies it in that direction.
  • Input Data — The value in the source format.

Button: Convert.

03 · Card data

Check Digit Calculator

The trailing digit on a PAN is a Luhn checksum, and a wrong one is rejected before any cryptography runs. This tool computes it, or checks the one you already have.

utility-tools · Check Digit Calculator — Check Digit Calculator with an Input Number of 49927398716, the Luhn (Mod 10) algorithm selected, and Validate and Generate buttons

Inputs

  • Input Number — The digits to check. For validation, include the check digit; to generate one, leave it off.
  • Algorithm — Drop-down; Luhn (Mod 10) is the default and the one card numbers use.

Buttons: Validate, Generate.

03 · Card data

Track 2 Codec

Track 2 is the magstripe-equivalent record that also travels in EMV tag 57, and it appears in at least three shapes depending on where you captured it. The codec builds one from its parts, or takes any of those shapes apart.

Encode

utility-tools · Encode Track 2 — Encode Track 2 with PAN, expiry YYMM, service code and discretionary data fields, a BCD/Hex (EMV Tag 57) output format, and an Encode button

Inputs

  • PAN — 8–19 digits.
  • Expiry YYMM — 4 digits.
  • Service Code — 3 digits.
  • Discretionary Data — Digits; optional.
  • Output Format — Drop-down; BCD/Hex (EMV Tag 57) for chip data, or the ASCII magstripe forms.

Decode

utility-tools · Decode Track 2 — Decode Track 2 with a Track 2 Data field that accepts any format, worked examples of the three accepted shapes, and a Decode button

Paste the record in any of its shapes — the tool detects which one it is rather than asking you. The form lists all three:

  • ASCII raw — with the ; start sentinel and ? end sentinel.
  • ASCII, no sentinels — PAN, =, then the rest.
  • BCD / hex (Tag 57) — packed, with D as the field separator and a trailing F pad.
ASCII raw:          ;1234567890123456=2512201123456789?
ASCII no sentinels: 1234567890123456=2512201123456789
BCD/Hex (Tag 57):   1234567890123456D2512201123456789F

Tips

  1. When a field will not parse, check its representation before its value — a PAN that looks wrong is often BCD read as ASCII, or the other way round.
  2. Round-trip anything you are unsure of: encode, then decode the result. If you do not land back on the input, the format assumption is what is wrong.
  3. The Track 2 decoder accepts all three shapes, so paste a capture straight in rather than converting it by hand first.
  4. The activity logs in each tool persist until you clear them — useful for capturing a sequence of intermediate values to share with a vendor support ticket.

Try it on your own captures

Free and open source. Download the studio and run these converters on your desk in minutes.

✦ Pro

Testing with a team, or certifying with a scheme? Pro raises the CPS ceiling, unlocks the full algorithm set and deep simulator tweaks, plus hosted endpoints and priority support.

Register for Pro