JavaCard CAP Structure Explorer
Explore JavaCard CAP file structure. Browse the 12 standard component types, their tags, mandatory status, and decode a Header.cap to confirm the magic, version, and package AID.
How to use this tool
What it does
Inspects the structure of a JavaCard CAP file — its component layout and metadata.
When to use it
Use it when packaging or loading an applet and you need to confirm the CAP's contents and versions.
Worked example
Open a CAP to list its Header, Applet and Method components.
Input
Decoded
Component browser
Spec
JavaCard Virtual Machine Specification 3.x §6.
Companion
Reading
Frequently asked questions
What is a CAP file?
The deployment unit of a JavaCard applet — a set of components carrying the converted class data, in the form the card's installer consumes. It is the output of the converter, not raw class files.
Why are there twelve components?
Because the format separates concerns so the card can load selectively: Header and Directory describe the package, Applet and Method carry executable content, Import and ConstantPool carry linkage, and Descriptor and Debug are optional.
Which components can be omitted?
Descriptor and Debug are optional and are usually stripped for production to save scarce on-card storage. The rest are required for the package to install.
What is the Import component for?
It lists the packages this one depends on, by AID and version. A version mismatch against what is on the card is the usual cause of an installation failure that looks like a corrupt file.
Does anything I paste leave my browser?
Nothing. The tool is entirely client-side: the page ships a static script, does no network calls, and never transmits what you paste. You can confirm it by opening the network tab, or by loading the page and then going offline.