---
title: "oneyaml C# docs"
url: https://recursiveai.org/oneyaml/csharp/docs/
description: "Everything about oneyaml for C#: getting started, the serializer, editing, patches, limits, moving from YamlDotNet and SharpYaml, how it compares, and the…"
version: "1.2.1"
---

# oneyaml C# docs

Everything about oneyaml for C#: getting started, the serializer, editing, patches, limits, moving from YamlDotNet and SharpYaml, how it compares, and the reference.

## Start

- [Getting started](https://recursiveai.org/oneyaml/csharp/docs/getting-started/index.md): Install the package, read YAML into C# types, write it back, edit a document in place and keep its comments, and apply JSON Patch and Merge Patch.
- [Overview](https://recursiveai.org/oneyaml/csharp/docs/overview/index.md): The package README: what OneYaml is, the quick start, where to go next, and the three packages.

## Guides

- [Serializer](https://recursiveai.org/oneyaml/csharp/docs/serializer/index.md): YamlSerializer reads YAML into .NET types and writes .NET values as YAML. Its shape is the shape of System.Text.Json: static Serialize and Deserialize…
- [Editing](https://recursiveai.org/oneyaml/csharp/docs/editing/index.md): YamlDocument holds a whole YAML stream with its text, comments and layout. Writing it back unedited gives the input byte for byte, and an edit changes…
- [Patches](https://recursiveai.org/oneyaml/csharp/docs/patches/index.md): YamlDocument applies JSON Patch operations (RFC 6902) with YAML value equality for test, and JSON Merge Patch (RFC 7396), to a YAML file and keeps its…
- [Limits](https://recursiveai.org/oneyaml/csharp/docs/limits/index.md): YAML can describe far more work than its size suggests: an alias can stand for a whole subtree, so a few hundred bytes can expand to a billion values, and…
- [Reader and emitter](https://recursiveai.org/oneyaml/csharp/docs/reader-emitter/index.md): Utf8YamlReader and Utf8YamlEmitter are the token-level types under the serializer, in the shape of Utf8JsonReader and Utf8JsonWriter. You meet the reader…

## Migrating

- [From YamlDotNet](https://recursiveai.org/oneyaml/csharp/docs/migrate-yamldotnet/index.md): There are two ways to move code written against YamlDotNet:
- [From SharpYaml](https://recursiveai.org/oneyaml/csharp/docs/migrate-sharpyaml/index.md): SharpYaml 3 and OneYaml share the System.Text.Json shape, so most code moves with few changes. There are two ways:
- [OneYaml.Compat.YamlDotNet](https://recursiveai.org/oneyaml/csharp/docs/compat-yamldotnet/index.md): The package covers a subset of YamlDotNet's API: the common paths through the serializer builders (SerializerBuilder, DeserializerBuilder, naming…
- [OneYaml.Compat.SharpYaml](https://recursiveai.org/oneyaml/csharp/docs/compat-sharpyaml/index.md): The package covers a subset of SharpYaml's API: the common serializer paths (YamlSerializer, YamlSerializerOptions, the attributes and the exceptions)…

## Choosing

- [Comparison](https://recursiveai.org/oneyaml/csharp/docs/comparison/index.md): How oneyaml-csharp compares with the .NET YAML libraries it is most often weighed against: YamlDotNet, SharpYaml and VYaml.
- [Performance](https://recursiveai.org/oneyaml/csharp/docs/performance/index.md): How oneyaml-csharp compares with the other .NET YAML libraries on speed and memory. Every task runs on the same inputs for every library, through the…

## Reference

- [Conformance](https://recursiveai.org/oneyaml/csharp/docs/conformance/index.md): What oneyaml-csharp is measured against, the latest results, and every case it is known not to pass.
- [Stability](https://recursiveai.org/oneyaml/csharp/docs/stability/index.md): What a release of oneyaml-csharp promises, and which .NET versions it supports. This is the only place this policy is stated; other pages link here.
- [Changelog](https://recursiveai.org/oneyaml/csharp/docs/changelog/index.md): All notable changes are listed here, newest first. The format follows Keep a Changelog, and versions follow Semantic Versioning. A change that can break…

## Cookbook

- [All recipes](https://recursiveai.org/oneyaml/csharp/cookbook/index.md): 11 short, task-first recipes with complete code.
