Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JSON
  3. circe

circe

Apache-2.0Scalav0.14.16

A JSON library for Scala and Scala.js with a focus on functional programming and type safety.

Visit WebsiteGitHubGitHub
2.5k stars546 forks0 contributors

What is circe?

Circe is a JSON library for Scala and Scala.js that provides functional, type-safe tools for parsing, manipulating, and serializing JSON data. It solves the problem of handling JSON in Scala applications with a focus on correctness, performance, and seamless integration with Scala's type system and functional programming patterns.

Target Audience

Scala developers building applications that require JSON serialization/deserialization, especially those using functional programming patterns or targeting both JVM and Scala.js environments.

Value Proposition

Developers choose Circe for its strong type safety, functional design, excellent performance via Jawn, and extensive ecosystem of integrations with popular Scala libraries like Akka, http4s, and Finch.

Overview

Yet another JSON library for Scala

Use Cases

Best For

  • Building type-safe JSON APIs in Scala web services
  • Handling JSON in functional Scala applications
  • Serializing case classes and sealed traits to/from JSON
  • Working with JSON in Scala.js projects
  • Integrating JSON processing with Akka HTTP or http4s
  • Parsing high-throughput JSON streams efficiently

Not Ideal For

  • Teams prioritizing rapid prototyping with minimal type annotations and boilerplate code
  • Projects requiring JSON processing with dynamic, schema-less data where runtime flexibility is key
  • Environments where Java-centric JSON libraries are preferred for better interoperability with existing Java codebases

Pros & Cons

Pros

Compile-Time Safety

Leverages Scala's type system to catch JSON parsing errors at compile time, reducing runtime issues, as emphasized in the key features for type safety.

Automatic Codec Derivation

Provides automatic derivation of encoders and decoders for case classes and sealed traits, simplifying serialization without manual boilerplate.

High-Performance Parsing

Uses Jawn for fast JSON parsing, enabling efficient handling of high-throughput scenarios, as evidenced by adopters like Criteo processing hundreds of thousands of events per second.

Extensive Integration Ecosystem

Has a modular architecture with support for custom encoders and integrations with many Scala libraries, such as Akka, http4s, and Finch, shown in the extensive related projects list.

Cons

Steep Learning Curve

Requires familiarity with Scala's type system and functional programming patterns, which can be challenging for developers new to these concepts, limiting accessibility.

Compile-Time Overhead

Automatic derivation can lead to longer compile times for complex types, as indicated by the experimental circe-derivation project aimed at improving compile times.

JSON-Only Focus

Limited to JSON format; additional libraries like circe-yaml are needed for other data serialization, adding complexity for multi-format projects.

Frequently Asked Questions

Quick Stats

Stars2,541
Forks546
Contributors0
Open Issues110
Last commit1 month ago
CreatedSince 2015

Tags

#parsing#functional-programming#akka#scala-js#type-safety#codec#serialization#scala#json

Built With

S
Scala
S
Scala.js

Links & Resources

Website

Included in

JSON1.5k
Auto-fetched 8 hours ago

Related Projects

JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars50,564
Forks7,494
Last commit17 hours ago
FastjsonFastjson

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.

Stars25,593
Forks6,396
Last commit1 month ago
simdjsonsimdjson

Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks

Stars24,241
Forks1,278
Last commit14 hours ago
GsonGson

A Java serialization/deserialization library to convert Java Objects into JSON and back

Stars24,235
Forks4,474
Last commit7 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub