Info
This site is generated using the static site generator developed by the Typst Community. Please adjust the text content of this banner according to your usage requirements. At Typst GmbH's request, when publishing documentation, you must clearly indicate that it is non-official and display the version of Typst being documented. For details, refer to Issue #874 on typst/typst.
TypstDocumentEnglish
v0.dev.2025-09-12

toml

Reads structured data from a TOML file.

The file must contain a valid TOML table. The TOML values will be converted into corresponding Typst values as listed in the table below.

The function returns a dictionary representing the TOML table.

The TOML file in the example consists of a table with the keys title, version, and authors.

Example

#let details = toml("details.toml")

Title: #details.title \
Version: #details.version \
Authors: #(details.authors
  .join(", ", last: " and "))
Preview

Conversion details

First of all, TOML documents are tables. Other values must be put in a table to be encoded or decoded.

TOML valueConverted into Typst
stringstr
integerint
floatfloat
booleanbool
datetimedatetime
arrayarray
tabledictionary
Typst valueConverted into TOML
types that can be converted from TOMLcorresponding TOML value
noneignored
bytesstring via repr
symbolstring
contenta table describing the content
other types (length, etc.)string via repr

Notes

  • Be aware that TOML integers larger than 263-1 or smaller than -263 cannot be represented losslessly in Typst, and an error will be thrown according to the specification.

  • Bytes are not encoded as TOML arrays for performance and readability reasons. Consider using cbor.encode for binary data.

  • The repr function is for debugging purposes only, and its output is not guaranteed to be stable across Typst versions.

Parameter
Parameter
Parameters are input values for functions. Specify them in parentheses after the function name.

source
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

A path to a TOML file or raw TOML bytes.

Definition
Definition
These functions and types can have related definitions. To access a definition, specify the name of the function or type, followed by the definition name separated by a period.

decode

Reads structured data from a TOML string/bytes.

toml.decode()->

data
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

TOML data.

encode

Encodes structured data into a TOML string.

toml.encode()->

value
Required
Required
Required parameters must be specified when calling the function.
Positional
Positional
Positional parameters can be set by specifying them in order, omitting the parameter name.

Value to be encoded.

TOML documents are tables. Therefore, only dictionaries are suitable.

pretty

Whether to pretty-print the resulting TOML.

Default value:

true

Open official docs

Search