* TOML is case-sensitive. * A TOML file must be a valid UTF-8 encoded Unicode document. * Whitespace means tab (0x09) or space (0x20). * Newline means LF (0x0A) or CRLF (0x0D 0x0A). A hash symbol marks the rest of the line as a comment, except when inside a string. A key may be either bare, quoted, or dotted. Values must have one of the following types. - [String](#string) - [Integer](#integer) - [Float](#float) - [Boolean](#boolean) - [Offset Date-Time](#offset-date-time) - [Local Date-Time](#local-date-time) - [Local Date](#local-date) - [Local Time](#local-time) - [Array](#array) - [Inline Table](#inline-table) There are four ways to express strings: basic, multi-line basic, literal, and multi-line literal. All strings must contain only valid UTF-8 characters. To unambiguously represent a specific instant in time, you may use an [RFC 3339](https://tools.ietf.org/html/rfc3339) formatted date-time with offset. Arrays are square brackets with values inside. Whitespace is ignored. Elements are separated by commas. Inline tables provide a more compact syntax for expressing tables. Tables (also known as hash tables or dictionaries) are collections of key/value pairs. They are defined by headers, with square brackets on a line by themselves. The last syntax that has not yet been described allows writing arrays of tables. TOML files should use the extension `.toml`. When transferring TOML files over the internet, the appropriate MIME type is `application/toml`.