Poison is a fast and lightweight JSON library for Elixir focused on performance and idiomatic APIs. It provides straightforward encode and decode functions, along with a protocol-based encoder that lets you customize how your structs become JSON. Developers can derive or implement Poison.Encoder for domain types, control which fields are included, and map complex values into JSON-friendly forms. On the decoding side, it supports options for key handling and flexible parsing of JSON into Elixir maps, lists, and primitive values. Internally it uses optimized binary processing to keep allocations low and throughput high, which is why it became a popular choice in early Elixir ecosystems. The API is intentionally small and unsurprising, making it easy to drop into controllers, background jobs, or data pipelines. Many codebases still rely on Poison for its speed and simplicity, even as alternative JSON libraries exist in the community.

Features

  • High‑performance JSON encoding/decoding
  • Pure Elixir implementation with no external dependencies
  • Hand‑rolled parser optimized for BEAM and JIT benefits
  • Single‑pass decoding for speed and efficiency
  • Full compliance with JSON standards (RFC 8259, ECMA 404)
  • Modular components (encoder, decoder, parser) usable independently

Project Samples

Project Activity

See All Activity >

License

BSD License

Follow Poison

Poison Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Poison!

Additional Project Details

Programming Language

Elixir

Registered

2025-09-01