.SER

SER File

Java Serialized Object File
Ask a question
QUICK ANSWER

A SER file is most commonly a Java Serialized Object - a binary snapshot of one or more Java program objects saved to disk. To open it, you need the specific application that created it; GeneMapper users open it directly in GeneMapper. Do not deserialize an unknown SER file in arbitrary Java code - it is a known vector for remote code execution.

Developer: Sun Microsystems / Oracle Corporation Category: Data Files Open standard MIME: application/x-java-serialized-object
OPENS ON Windows macOS Linux
Related: .PKPASS · .DAT · .JSON · .RIS

On this page

19k+ extensions indexed
Last reviewed Aug 10, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the SER file format?

A .ser file contains a Java serialized object stream - a binary encoding of one or more Java objects produced by ObjectOutputStream and read back by ObjectInputStream. The format was introduced with Java 1.1 in 1997 and is defined in the Java Object Serialization Specification.

Every valid .ser file begins with the 4-byte magic sequence AC ED 00 05: bytes 0-1 hold STREAM_MAGIC (0xACED) and bytes 2-3 hold STREAM_VERSION (0x0005). The stream encodes each object's class descriptor, fields, and nested data using typed block markers: TC_OBJECT (0x73), TC_CLASS (0x76), TC_ARRAY (0x75), TC_STRING (0x74), and TC_NULL (0x70).

Serialization was widely used for caching application state, passing objects between JVMs, and persisting configuration data. However, Java deserialization is a known security vulnerability - maliciously crafted streams can exploit gadget chains in the classpath to achieve remote code execution. Java 9 introduced ObjectInputFilter to restrict which classes may be deserialized, and modern Java guidance strongly discourages using .ser files for untrusted data.

Preferred modern alternatives include JSON (via Jackson or Gson), Protocol Buffers, or Kryo. GeneMapper (Thermo Fisher Scientific) uses .ser files for bioinformatics project data. The SerializationDumper utility can inspect .ser contents without executing them.

Security & safety

RISK: HIGH

Java deserialization is one of the highest-severity attack surfaces in Java applications (OWASP Top 10 historically). Opening an untrusted .ser file in a vulnerable application can execute arbitrary code via gadget chains (cf. Apache Commons Collections exploit, 2015). End-users should only open .ser files from trusted sources and in their intended application. Analysing unknown .ser files: use SerializationDumper (static dump, does not execute the payload) rather than deserializing them in a live JVM.

Format details

in a nutshell
FULL NAMEJava Serialized Object Fileaka Java serialization stream, .ser file
DEVELOPERSun Microsystems / Oracle Corporationsince 1997 (Java 1.1, JDK 1.1)
CATEGORYData Files
MIME TYPEapplication/x-java-serialized-object
TYPEbinary serialized Java object stream
STANDARDOpen · royalty-free
This extension is also used by…
  • GeneMapper Project File - Applied Biosystems/Life Technologies GeneMapper software uses .ser as its proprietary project-data container.
  • Generic application data cache - Any Java application can serialize arbitrary objects to .ser; contents are entirely application-specific.
MAGIC BYTES · FILE SIGNATURE
OFFSET
00010203
HEX
ACED0005
ASCII
····
Bytes 0-1: STREAM_MAGIC=0xACED; bytes 2-3: STREAM_VERSION=0x0005. All valid Java serialized streams start with these 4 bytes.

Programs that open SER files

Windows2 apps
GeneMapper (Thermo Fisher Scientific) Paid Open GeneMapper, use File > Open Project and select the .ser project file.
SerializationDumper Open-source java -jar SerializationDumper.jar < input.ser - dumps the raw serialization stream structure for analysis.
macOS1 app
SerializationDumper Open-source java -jar SerializationDumper.jar < input.ser
Linux1 app
SerializationDumper Open-source java -jar SerializationDumper.jar < input.ser

Technical details

deep spec
Magic bytesAC ED 00 05 at offset 0 - STREAM_MAGIC (0xACED) followed by STREAM_VERSION (0x0005)
EncodingBinary, big-endian
MIME typeapplication/x-java-serialized-object
Serialization APIjava.io.ObjectOutputStream (write) / java.io.ObjectInputStream (read); classes must implement java.io.Serializable
Protocol versionSerialization protocol version 2 (stream version 5), stable since Java 1.2
Class versioningEach class embeds a serialVersionUID; version mismatch throws InvalidClassException at deserialization time
Content markersTC_OBJECT (0x73), TC_CLASS (0x76), TC_ARRAY (0x75), TC_STRING (0x74), TC_NULL (0x70)
Security riskKnown deserialization gadget-chain attack vector; Java 9+ mitigates via ObjectInputFilter class-allowlisting
Typical sizeA few bytes for simple objects up to hundreds of MB for large serialized object graphs
Platform portabilityReadable by any JVM on Windows, Linux, or macOS; not portable outside the Java ecosystem
Stream compressionUncompressed at the format level; GZIPOutputStream wrapping is optionally applied at the application layer
IntegrityNo built-in checksum; integrity is provided by application-layer signing or secure transport
Known applicationGeneMapper (Thermo Fisher Scientific) uses .ser for bioinformatics project and data files
Released1997 (Java 1.1, JDK 1.1)
Latest versionStream version 5 (serialization protocol version 2, since Java 1.2)
Open standardYes · royalty-free
Specificationdocs.oracle.com

SER conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with SER files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about SER files.

Frequently asked questions

How do I open a .ser file?
You need the specific Java application that created it. Most users encounter .ser from GeneMapper - open it with GeneMapper. For raw inspection, use SerializationDumper (does not execute the payload).
Can I convert .ser to JSON or CSV?
Not universally - a .ser file is tied to specific Java classes. The owning application must export the data; there is no generic converter.
Is a .ser file dangerous?
Opening it in its intended application is safe. Deserializing an unknown .ser in arbitrary Java code is high-risk (remote code execution via gadget chains). Use SerializationDumper for analysis of untrusted files.
Why does my Java application throw InvalidClassException for a .ser file?
The serialVersionUID in the file doesn't match the current class definition. The .ser was saved by a different (usually older) version of the software.

References

1Java Object Serialization Specification (Oracle)docs.oracle.com
2GeneMapper Software 6 - Thermo Fisher Scientificwww.thermofisher.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.NOMEDIAAndroid No-Media Marker File
6.PARTPartial Download File
7.RPMSGRestricted Permission Message
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

Related extensions

.PKPASSApple Wallet Pass (formerly Passbook)
.DATProgram Data File (generic)
.JSONJavaScript Object Notation file
.RISResearch Information Systems citation file
.OFXOpen Financial Exchange
.CSVComma-Separated Values

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z