Java Class File Metadata Inspector
Read a .class file’s declared version, class names, fields, methods and opaque attribute ranges without loading bytecode.
Loading tool…
How to use Java Class File Metadata Inspector
Read a .class file’s declared version, class names, fields, methods and opaque attribute ranges without loading bytecode. Separate container structure from JVM verification when checking an unfamiliar build artifact. Inspect exact method descriptors and preview-version flags while keeping code and attribute bodies inert.
- Provide single java class file.
- Choose the supported mode and run the tool. Review its assumptions and any reported errors.
- Copy the result or download a separate output; reset to clear the current form.
Good to know
- One uncompressed .class file, up to 4 MiB. Class versions 45–70; the newer minor-version restriction is checked. JAR, ZIP, future constant tags and newer class versions are refused.
- At most 4,095 constant-pool slots, 1 MiB total modified UTF-8 source bytes, 1,000 fields/methods/interfaces each and 4,000 top-level/member attributes. Displayed metadata has a separate 100,000-character budget and report output cap.
- Modified UTF-8 treats NUL as C0 80 and supplementary characters as two three-byte surrogate units. Raw zero, four-byte UTF-8, bad continuations and other overlong forms are refused. Long/double entries consume two pool slots.
- Checks selected constant-pool reference tags and exact top-level/member attribute ranges. Attribute contents, descriptors, access flags, names, bootstrap relationships, bytecode constraints and stack-map verification are outside this inventory.
- A declared major version identifies a class-file format, not proof that its dependencies, required JVM features or behavior work on a particular runtime. Nothing is decompiled, installed or executed.
- Inputs are processed on this device and are not automatically saved or uploaded.
Common questions
Can this tell me whether a .class file is safe to run?
No. It reads static metadata and byte ranges. The JVM’s full verification, imported dependencies and runtime behavior are separate concerns; do not treat a successful inventory as permission to execute an untrusted class.
Does this change my original input?
No. The tool returns a separate result. Review that output before using it in another application.
Keep going with related tools
All files →WebAssembly Binary Inspector
Inspect selected WebAssembly section ranges, imports, exports and declared memory limits without execution.
FilesBinary Hex Viewer
Display a bounded byte slice with hexadecimal offsets, hex values and an escaped ASCII view.
FilesZIP File Workbench
Create a ZIP, list safe entries or extract one file under strict expansion bounds.