mailru/easyjson

Fast JSON serializer for golang.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 14th, 2026
Created on February 26th, 2016
Open Issues & Pull Requests: 99 (+0)
GitHub issues: Enabled
Number of forks: 468
Total Stargazers: 4,916 (+1)
Total Subscribers: 85 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 14.7 days
Mean response time: 27.6 days
90th percentile: 44.9 days
Tracked items: 11

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 874 days
Stale 30+ days: 11
Stale 90+ days: 10

Recent activity

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

Top labels

  • more_docs (1)
  • new feature (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

easyjson is a code generator that produces fast JSON serializers and deserializers for Go structs.

The tool addresses the performance overhead of Go's standard encoding/json package, which relies on reflection. easyjson generates specialized marshaling and unmarshaling functions at compile time by analyzing struct definitions and producing optimized Go code. This approach eliminates runtime reflection entirely, delivering significant speed improvements. The generated code remains readable and maintainable, allowing developers to understand and modify it if needed.

Developers should choose easyjson when JSON serialization performance is critical in their application. It suits projects handling high volumes of JSON data or operating under strict latency constraints. The tool is particularly valuable when compared to the standard library's encoding/json package, which it outperforms by a factor of 4-5x, and other third-party JSON packages, which it typically exceeds by 2-3x. Beyond raw speed, easyjson offers customization options unavailable in the standard library, including automatic snake_case field name generation, default omitempty behavior, string interning for memory efficiency, and nocopy mode for short-lived objects that reference the original JSON buffer.

The project maintains active continuous integration workflows. Development follows a structured approach to code generation, requiring a full Go build environment and GOPATH configuration since the tool invokes go run on temporary files during generation. The codebase demonstrates consistent attention to both performance optimization and code clarity as design principles.