Bench & diagnostic tooling
Tools / Coding calculators

VAG MK100 ABS Long Coding Decoder and VIN Adapter

Decode a Continental MK100 ABS/ESP long coding byte by byte, check its mirror bytes, and re-stamp a donor coding for another VIN. Runs in your browser — nothing is uploaded.

freeruns locallyread-only
[Tool]
client-side

Help improve this tool

Detection is built from patterns across real files. If this tool misread your dump — or read it correctly and you are happy to help — sending us the file makes the next read better. Entirely optional, and nothing is sent unless you fill this in and press the button.

About this tool

The Continental MK100 is the ABS/ESP unit across the MQB platform — Golf 7 and 7.5, Passat B8, Tiguan, T-Roc, Arteon, Octavia, Leon, A3 8V and the rest — and its long coding is far longer and less readable than the MK60EC1 it replaced. This tool takes the coding as you read it out and tells you what every byte says: which brake discs, which rear suspension, whether Start/Stop and hill hold are coded, how the ESP button is set up, which TPMS variant the car has.

Before it interprets anything it proves the coding is intact. Certain bytes are bit mirrors of earlier ones — byte 15 repeats byte 0 with its bits reversed, byte 16 repeats byte 2, and so on — so a coding that was misread or mistyped fails arithmetic that cannot be argued with. Seven more bytes carry VIN characters, each as that character's code plus a fixed offset, and the tool reads them back out as the VIN fragment the module is storing. Those two checks together also identify which coding layout you have, so you do not have to know whether the car is a 3Q0, an 8V0, an 8S0 or a 2Q0 before you start.

Because the VIN is inside the coding, a coding lifted from an identical car is refused by the module. The VIN-adapt tab fixes exactly that: paste the donor coding and the target VIN, and the VIN bytes are re-stamped and the mirror bytes recomputed. This is what makes a used MK100 pump take a coding. The equipment bytes are still the donor's, so the tool says so plainly — if the donor had different brakes or suspension, decode the result and correct those bytes too.

The byte layout is arithmetic and the tool verifies it in front of you. The equipment meanings are a different kind of knowledge: they are transcribed from the community MK100 ABS Coding spreadsheet compiled on the Ross-Tech forums, and that sheet grades its own confidence byte by byte and bit by bit. Rather than hiding this behind a disclaimer, every line carries its grade — tested, unconfirmed or unknown — and the bytes nobody has worked out are left blank instead of filled in with a plausible guess. Nothing on the page is invented.

Everything happens locally in your browser with no network request of any kind, so the coding and VIN you paste never leave the machine. The tool produces a coding string; it does not talk to the car. ABS and ESP are safety systems — save the original coding before you write anything, and confirm the car brakes properly and the ESP lamp goes out before it leaves.

VAGVWAudiSeatSkodaABSESPMK100MQBlong codingContinentalJ104VCDSOBDelevenVIN

Questions

Why will a coding copied from an identical car not work?
The MK100 stores seven characters of the VIN inside the coding — positions 7, 8 and 13 to 17 — and cross-checks them against the VIN on the bus. A donor coding carries the donor's characters and is refused. The VIN-adapt tab rewrites exactly those bytes and recomputes the mirror bytes, which is what lets a used or donor module accept the coding.
Which units and coding lengths does it cover?
Continental MK100 in four layouts: 3Q0/5Q0/5QM at 30 bytes (the bulk of MQB — Golf, Passat, Tiguan, Octavia, Leon, A3, Q2, Q3, Arteon, Karoq, Kodiaq, Superb, T-Roc, Atlas, Jetta), 8V0 83A at 30 or 47 bytes (Audi S3, RS3, RS Q3), 8S0/8V0 at 26 or 27 bytes (Audi TT), and 2Q0 at 58 or 59 bytes (Polo, T-Cross, Scala, Kamiq, Arona, Virtus). You do not need to pick — the layout is identified from the coding itself. Q7 4M is not covered; it is MLB and does not use the same VIN arithmetic.
What does it mean when the mirror check fails?
That the coding in front of you is not a valid MK100 coding. Every MK100 coding repeats a set of bytes with their bits reversed, so a mismatch means it was read out badly, mistyped, or truncated — the tool names the bytes that disagree and what they should be. Fix the source before reading anything into the meanings, and never write a coding that fails its own check.
How reliable are the equipment descriptions?
It depends on the byte, and the tool tells you which. The layout — VIN bytes and mirrors — is arithmetic, and verified on every decode. The meanings come from a community spreadsheet built from real auto-scans, and each entry carries that sheet's own confidence grade. Treat 'tested' as reliable, 'unconfirmed' as a strong hint to check against the car, and anything blank as genuinely unknown rather than not applicable.
Can I change an option and have it recalculate?
Yes. After decoding, the Adjust panel exposes the bits the source actually documented and recalculates the mirror bytes as you change them, showing which bytes moved. Bits the source itself was unsure of are shown in the breakdown but never offered as a control, so the tool will not help you write something nobody has confirmed.
Is my coding or VIN uploaded?
No. The whole thing runs in your browser with no network request of any kind. You can disconnect from the internet and it still works.
Verify before you write. This tool reads a dump and reports what it finds. Always confirm the values against your programmer before writing anything to a module, and only work on vehicles you own or are authorised to service.