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.
On this page
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.
All tools
Every converter in this category — each card links to the detailed reference below.
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:
ASCIIor 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.
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.
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:
Hexadecimalby default. - BCD Data — The packed value to unpack.
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.
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.
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
Das the field separator and a trailingFpad.
ASCII raw: ;1234567890123456=2512201123456789? ASCII no sentinels: 1234567890123456=2512201123456789 BCD/Hex (Tag 57): 1234567890123456D2512201123456789F
Tips
- 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.
- 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.
- The Track 2 decoder accepts all three shapes, so paste a capture straight in rather than converting it by hand first.
- 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.
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