Most NBT tags will be re-serialized without being ever touched, as the "opaque" tag. Quick profiling showed that ReadUTF() takes ~25% of all time Links: - https://blog.libtorrent.org/2015/03/bdecode-parsers/ - https://github.com/dotnet/runtime/tree/main/src/libraries/System.Text.Json/src/System/Text/Json/Document