# burntsushi/toml

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/burntsushi-toml).**

4,904 stars · 541 forks · Go · mit

## Links

- GitHub: https://github.com/BurntSushi/toml
- awesome-repositories: https://awesome-repositories.com/repository/burntsushi-toml.md

## Description

This is a TOML parser and serializer for the Go language. It serves as a data serialization library and configuration file mapper that encodes and decodes data between Go structures and the TOML configuration format.

The library provides interfaces for custom type marshaling, allowing for specialized logic when parsing or serializing specific data types. It transforms structured objects into deterministic TOML documents for storage or transmission.

The project covers a broad range of data processing capabilities, including structured value encoding, TOML data generation, and metadata inspection to track unmapped keys or verify data types.

## Tags

### Data & Databases

- [TOML Parsers](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-parsing/toml-parsers.md) — Converts TOML-formatted text or files into structured Go objects using reflection. ([source](https://cdn.jsdelivr.net/gh/burntsushi/toml@master/README.md))
- [TOML Serializers and Parsers](https://awesome-repositories.com/f/data-databases/data-serialization-formats/toml-serializers-and-parsers.md) — Provides a complete implementation for encoding and decoding data between Go structures and the TOML format.
- [Data Serialization and Parsing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/data-serialization-parsing.md) — Provides full-cycle conversion between complex data objects and TOML formatted text.
- [TOML Serializers](https://awesome-repositories.com/f/data-databases/data-serialization-formats/toml-serializers.md) — Encodes structured Go data objects into the TOML text format for storage or transmission. ([source](https://cdn.jsdelivr.net/gh/burntsushi/toml@master/README.md))
- [Data Serialization Libraries](https://awesome-repositories.com/f/data-databases/data-serialization-libraries.md) — A comprehensive library for parsing, encoding, and manipulating structured TOML data.
- [Structured Object Mappings](https://awesome-repositories.com/f/data-databases/key-value-stores/structured-object-mappings.md) — Transforms Go objects and maps into formatted TOML documents with deterministic sorting. ([source](https://pkg.go.dev/github.com/BurntSushi/toml))
- [Custom Data Types](https://awesome-repositories.com/f/data-databases/custom-data-types.md) — Allows for specialized mapping of TOML values into custom data types using reflection.
- [Interface-Based Marshaling](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/custom-scalar-marshaling/interface-based-marshaling.md) — Allows types to define their own serialization logic via standard marshaler interfaces.
- [Custom Serialization Interfaces](https://awesome-repositories.com/f/data-databases/data-type-managers/dynamic-type-managers/custom-type-serializers/custom-serialization-interfaces.md) — Provides an interface for defining specialized logic to parse or serialize specific data types within TOML files.
- [Format Metadata Inspection](https://awesome-repositories.com/f/data-databases/format-metadata-inspection.md) — Provides tools to check existing keys, identify types, and track unmapped keys during decoding. ([source](https://pkg.go.dev/github.com/BurntSushi/toml))

### Development Tools & Productivity

- [Application Configuration Management](https://awesome-repositories.com/f/development-tools-productivity/application-configuration-management.md) — Facilitates the management of application settings using the human-readable TOML format.
- [Configuration Mappers](https://awesome-repositories.com/f/development-tools-productivity/configuration-mappers.md) — Binds TOML configuration data to strongly-typed Go objects using reflection and tags.
- [Application Configuration Inspection](https://awesome-repositories.com/f/development-tools-productivity/application-configuration-inspection.md) — Analyzes TOML files to detect unknown keys and verify data types before mapping them to variables.

### Software Engineering & Architecture

- [Configuration Field Population](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/struct-tags/reflection-based-type-mapping/configuration-field-population.md) — Uses reflection and struct tags to dynamically inject TOML values into Go struct fields.
- [Custom Type Decoders](https://awesome-repositories.com/f/software-engineering-architecture/custom-format-decoders/custom-type-decoders.md) — Provides interfaces for implementing specialized deserialization logic for custom data types. ([source](https://cdn.jsdelivr.net/gh/burntsushi/toml@master/README.md))
- [Strict Object Validation](https://awesome-repositories.com/f/software-engineering-architecture/data-schema-validation/data-type-validation/object-shape-validation/strict-object-validation.md) — Rejects unknown keys and verifies that decoded values match the expected Go types.

### Web Development

- [Type-Specific Serialization](https://awesome-repositories.com/f/web-development/json-encoding/custom-serialization-interfaces/type-specific-serialization.md) — Enables custom encoding and decoding logic for specific types using marshaler and unmarshaler interfaces. ([source](https://pkg.go.dev/github.com/BurntSushi/toml))
