Kotlin/kotlinx.serialization

Kotlin multiplatform / multi-format serialization

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 11th, 2026
Created on July 20th, 2017
Open Issues & Pull Requests: 305 (+0)
GitHub issues: Enabled
Number of forks: 680
Total Stargazers: 5,948 (+0)
Total Subscribers: 101 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 20.1 hours
Mean response time: 101.9 days
90th percentile: 286.4 days
Tracked items: 537

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 91% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "runtime" is answered fastest, typically in about 6 hours, while "reproduced" waits about 3 days. Only 3% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 174
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 1,059 days
Stale 30+ days: 151
Stale 90+ days: 115

Recent activity

Opened in 7 days: 3
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 4

Top labels

  • feature (201)
  • bug (109)
  • question (74)
  • compiler-plugin (44)
  • waiting for clarification (42)
  • design (39)
  • reproduced (38)
  • cbor (23)

Detailed Description

Kotlinx.serialization is a multiplatform serialization library for Kotlin that generates visitor code at compile time rather than using reflection.

The library solves the problem of serializing and deserializing Kotlin objects across multiple platforms and formats without runtime reflection overhead. It uses a compiler plugin to generate boilerplate code for classes marked with the @Serializable annotation, then provides format-specific encoders and decoders at runtime. This approach eliminates reflection costs and enables dead code elimination, making it suitable for performance-sensitive and resource-constrained environments. The tool supports JSON, Protobuf, CBOR, HOCON, and Properties formats, with complete multiplatform coverage across JVM, JavaScript, and Native targets.

Developers should choose this library if they need efficient serialization in Kotlin multiplatform projects or want to avoid reflection-based serialization overhead. It works well for applications targeting multiple platforms simultaneously, particularly those running on Native or embedded systems where reflection is costly. The library is straightforward to adopt, requiring only a compiler plugin setup and a runtime dependency, with clear documentation and examples provided.

The project maintains an active user base, with nearly all open issues coming from external adopters rather than the core team. Maintainers respond to new issues and pull requests within a day. Work in the issue tracker centers on feature requests, bug reports, and user questions.