Cross-language encoding

Exchange compact binary payloads across runtimes with schema evolution, shared and circular references, and polymorphic runtime types.

Domain objects first

Serialize native domain objects directly, including Java classes, Python dataclasses, Go structs, Rust and C++ structs, and generated or annotated types.

Reference-aware Schema IDL

Define schemas once, including shared and circular references, then generate native domain objects without wrapper types.

Row-format random access

Read fields, arrays, and nested values without rebuilding whole objects, with zero-copy access, partial reads, and Arrow integration.

Optimized runtimes

Java JIT serializers and generated or static serializers in other runtimes keep hot paths fast and serialized data compact.

Broad platform support

Use Fory from Java, Python, C++, Go, Rust, JavaScript/TypeScript, C#, Swift, Dart, Scala, Kotlin, GraalVM, Flutter, Node.js, and browsers.