YAML Libraries¶
YAML data serialization libraries for over 40 modern programming languages!!!
Uses the YAML Test Suite
Available in the YAML Playground
Supported by The YAML Company
1.2
Supports YAML 1.2
Actively maintained (updated within the last year)
Pure implementation (no native library dependency)
Safe loading by default (no arbitrary object construction)
Supports merge keys
Preserves comments (round-trip editing)
Ada¶
-
Experimental YAML 1.3 implementation in Ada
MIT
C¶
C++¶
C#/.NET¶
-
YAML 1.1/(1.2) library + serialization
MIT
-
YAML 1.1 library
-
F# YAML 1.2 parser
Unlicense
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Clojure¶
-
YAML encoding and decoding for Clojure
EPL-1.0
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Common Lisp¶
-
YAML parser and emitter built on libyaml
Crystal¶
-
YAML 1.1 from the standard library
Apache-2.0
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
D¶
-
YAML 1.1 library w/ official community support
BSL-1.0
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Dart¶
-
YAML package for Dart
BSD-3-Clause
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Delphi / Free Pascal¶
-
YAML 1.1 Delphi binding to libyaml
-
YAML 1.1/1.2 and JSON pure Object Pascal parser
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Elixir¶
-
YAML support for the Elixir language
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Erlang¶
Fortran¶
Go¶
-
YAML support for the Go language
Apache-2.0
-
Simplified YAML parser written in Go
Apache-2.0
-
YAML 1.2 implementation in pure Go
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Groovy¶
-
Built-in YAML parser (Groovy 3+)
Apache-2.0
Haskell¶
-
YAML 1.2 implementation in pure Haskell
GPL-2.0
-
Haskell 1.2 reference parser
-
YAML 1.1 Haskell framework (based on libyaml)
BSD-3-Clause
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Java¶
-
Java 8+ / YAML 1.2
Apache-2.0
-
Java 5 / YAML 1.1
Apache-2.0
-
To/from JavaBeans. YAML 1.0/1.1
MIT
-
YAML 1.2 for Java 8. Packaged as a Module (Java 9+)
BSD-3-Clause
-
Java Implementation
Apache-2.0
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
JavaScript¶
Julia¶
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Kotlin¶
Lua¶
-
Lua binding for libyaml
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
MATLAB / Octave¶
-
YAML reader/writer for MATLAB and GNU Octave
BSD-3-Clause
ML¶
-
A YAML parser written for Poly/ML in Standard ML
Nim¶
Objective-C¶
-
YAML support based on libyaml
-
LibYAML wrapper with YPath query support
BSD-3-Clause
OCaml¶
-
YAML 1.1/1.2 via libyaml bindings
ISC
-
YAML 1.0 via syck bindings
Perl¶
-
XS binding to libyaml
Perl
-
A pure Perl YAML 1.2/1.1 processor
Perl
-
Binding to libsyck
-
A small YAML subset module
Perl
-
Pure Perl YAML 1.0 Module
Perl
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
PHP¶
-
Symfony Yaml Component (YAML 1.2)
MIT
-
libyaml bindings (YAML 1.1)
MIT
-
syck bindings (YAML 1.0)
-
yaml loader/dumper (YAML 1.?)
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
-
A YAML 1.2 Parser for PHP
MIT
PowerShell¶
-
PowerShell CmdLets for YAML manipulation
Apache-2.0
Python¶
-
YAML 1.1, pure Python and libyaml binding
MIT
-
YAML 1.2, update of PyYAML; comments round-trip
MIT
-
Restricted YAML subset
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
R¶
-
libyaml wrapper
BSD-3-Clause
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Raku¶
-
Port of YAMLish to Raku
Artistic-2.0
-
LibYAML wrapper
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Ruby¶
-
libyaml wrapper (in Ruby core for 1.9.2)
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Rust¶
-
YAML framework for the Rust language
Apache-2.0
-
YAML 1.2 implementation in pure Rust (actively maintained)
MIT/Apache-2.0
-
Modern Rust crates for parsing YAML
-
Panic- and
unsafe- free serde supportApache-2.0
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Scala¶
-
YAML parser for circe using SnakeYAML
Apache-2.0
Scheme¶
-
YAML module for Guile using libyaml
LGPL-3.0
Shell¶
-
Simple YAML parser for Bash using sed and awk
GPL-3.0
-
Read YAML files - jq style
BSD-2-Clause
Swift¶
-
libyaml wrapper
MIT
-
YAML 1.2 loader
MIT
-
YAMLScript YAML loader
MIT
Tcl¶
-
YAML processing with huddle support
TypeScript¶
Typst¶
-
YAML support built into Typst scripting language
Apache-2.0
V¶
-
Strictly parse and format YAML data
MIT
Vim¶
-
YAML dumper/emitter in pure vimscript