square/moshi

A modern JSON library for Kotlin and Java.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 6th, 2026
Created on August 9th, 2014
Open Issues & Pull Requests: 114 (+0)
GitHub issues: Enabled
Number of forks: 811
Total Stargazers: 10,160 (+0)
Total Subscribers: 182 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.0 hours
Mean response time: 23.5 days
90th percentile: 27.1 days
Tracked items: 46

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 4% of issues opened in the past year have been closed. Three people close 86% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 851 days
Stale 30+ days: 14
Stale 90+ days: 11

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (23)
  • enhancement (14)
  • PR Welcome (5)
  • needs info (3)
  • documentation (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Moshi is a modern JSON library for Kotlin and Java that handles parsing and serialization of JSON data into and from application objects.

Moshi solves the problem of converting between JSON and strongly-typed Java or Kotlin classes. It provides built-in type adapters for core data types including primitives, collections, strings, and enums, automatically handling field-by-field serialization and deserialization of model classes. For cases where the default behavior does not fit, developers can write custom type adapters using methods annotated with @ToJson and @FromJson, allowing fine-grained control over how values are encoded and decoded. Type adapters can work with intermediate representations, enabling transformations such as combining multiple JSON fields into a single object property or reformatting field names during parsing.

Moshi suits projects that need straightforward JSON handling without heavy configuration. It works well for Android applications and backend services written in Java or Kotlin. The library is particularly valuable when you need to customize serialization behavior for specific types without writing boilerplate parsing code. Developers should be aware that Kotlin support requires either code generation or the KotlinJsonAdapterFactory for reflection, as plain Java-based reflection does not work with Kotlin classes.

The project maintains active development with regular updates to its codebase. Pull requests receive timely review and feedback from maintainers. The issue tracker shows consistent engagement with bug reports and feature requests, with maintainers providing detailed responses and guidance. Documentation is kept current alongside code changes, and the project demonstrates responsiveness to community contributions.