{}j gem

Build Status Gem Gem SemVer compatibility TideLift

A fast JSON parser and Object marshaller as a Ruby gem.

Version 3.0 is out! 3.0 provides better json gem and Rails compatibility. It also provides additional optimization options.


```ruby require ‘oj’

h = { ‘one’ => 1, ‘array’ => [ true, false ] } json = Oj.dump(h)

json =

# { # “one”:1, # “array”:[ # true, # false # ] # }

h2 = Oj.load(json) puts “Same? #== h2” # true ```


gem install oj

or in Bundler:

gem 'oj'


Get supported Oj with a Tidelift Subscription. Security updates are supported.

Further Reading

For more details on options, modes, advanced features, and more follow these links.

  • Options for parse and dump options.
  • Modes for details on modes for strict JSON compliance, mimicing the JSON gem, and mimicing Rails and ActiveSupport behavior.
  • JsonGem includes more details on json gem compatibility and use.
  • Rails includes more details on Rails and ActiveSupport compatibility and use.
  • Custom includes more details on Custom mode.
  • Encoding describes the :object encoding format.
  • Compatibility lists current compatibility with Rubys and Rails.
  • Advanced for fast parser and marshalling features.
  • Security for security considerations.



  • Documentation: http://www.ohler.com/oj/doc, http://rubydoc.info/gems/oj

  • GitHub repo: https://github.com/ohler55/oj

  • RubyGems repo: https://rubygems.org/gems/oj

Follow @peterohler on Twitter for announcements and news about the Oj gem.

Performance Comparisons

  • Fast XML parser and marshaller on RubyGems: https://rubygems.org/gems/ox

  • Fast XML parser and marshaller on GitHub: https://github.com/ohler55/ox

  • Need for Speed for an overview of how Oj::Doc was designed.

  • OjC, a C JSON parser: https://www.ohler.com/ojc also at https://github.com/ohler55/ojc

  • Agoo, a high performance Ruby web server supporting GraphQL on GitHub: https://github.com/ohler55/agoo

  • Agoo-C, a high performance C web server supporting GraphQL on GitHub: https://github.com/ohler55/agoo-c


  • Provide a Pull Request off the develop branch.
  • Report a bug
  • Suggest an idea
  • Code is now formatted with the clang-format tool with the configuration file in the root of the repo.