What is the JASPER file format?
A .jasper file is a compiled JasperReports report template - the binary artifact produced when the JasperReports engine compiles a .jrxml report design file. The relationship mirrors Java compilation: .jrxml is the source, .jasper is the compiled output, analogous to a .class file compiled from .java source.
Technically, a .jasper file is a standard Java serialized object stream with the magic bytes AC ED 00 05, containing a serialized net.sf.jasperreports.engine.JasperReport object. This object graph includes compiled Groovy or Java expression bytecode, report band structures, style definitions, parameter declarations, and field mappings. Because the format relies on Java’s built-in object serialization, the serialization UID is tied to the JasperReports library version - a .jasper file compiled with JR 6.x may fail to load under JR 7.x and must be recompiled from the original .jrxml source.
A .jasper file cannot produce output on its own. It requires the JasperReports engine to fill it with data and then export to a delivery format such as PDF, XLSX, or HTML. Reports are designed in Jaspersoft Studio (which replaced the discontinued iReport in 2014) and executed within JasperReports Server or any Java application embedding the JasperReports library.
JasperReports was created in 2001. Jaspersoft was acquired by TIBCO in 2014, and TIBCO was subsequently acquired by Cloud Software Group in 2022.
Security & safety
RISK: MEDIUM.jasper files contain embedded compiled Java bytecode (expression classes). A maliciously crafted .jasper could exploit Java deserialization vulnerabilities (the Java serialization format is historically attack-prone; see CVE-2015-4852 and related gadget chains). Only load .jasper files from trusted sources within controlled environments. JasperReports 6.3+ mitigated some risks; keep the library up to date.
Format details
in a nutshellPrograms that open JASPER files
Technical details
deep spec| Format type | Binary Java serialized object stream (compiled report template) |
| Magic bytes | AC ED 00 05 (Java Object Serialization stream header) |
| Byte order | Big-endian (Java serialization specification) |
| Encoding | Binary (Java ObjectOutputStream format) |
| Root serialized class | `net.sf.jasperreports.engine.JasperReport` |
| Typical file size | 10 KB - 5 MB (depends on embedded subreport resources) |
| Source format | Compiled from `.jrxml` (XML report design) |
| Version compatibility | Serialization UID tied to JasperReports library version; major version mismatch requires recompilation from `.jrxml` |
| Embedded content | Compiled Groovy/Java expression bytecode, band structures, style definitions, parameter and field descriptors |
| Runtime requirement | JasperReports engine - fill with JasperFillManager, export with JasperExportManager |
| Export targets | PDF, XLSX, HTML, DOCX, CSV, ODS, and more via JasperExportManager |
| Platform | Windows, Linux, macOS (any JVM platform) |
| Released | 2001 (JasperReports 0.1) |
| Latest version | JasperReports 7.x (2024) |
| Specification | jasperreports.sourceforge.net |
JASPER conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about JASPER files.