This is a quick reference cheat sheet for understanding and writing INI-format configuration files.
name
and a value
, separated by an equal sign (=
)key name
is displayed to the left side
of the equals signequal sign
and semicolon
are reserved
charactersNow an informal standard for many configurations, other operating systems may use .conf
or .cfg
as a suffix
; Here are the comments
[owner]
name=John Doe
organization=Acme Products
[database]
; Here are the comments
server=192.0.2.42
port=143
file="acme payroll.dat"
[section.subsection]
foo = bar
comment (;
)
; This is the comment text and will be ignored
comment (#
)
# Here is the comment text, ⚠️ Some compilers support it
Comments after a line (;
,#
) (not standard)
var = a ; this is an inline comment
foo = bar # this is another inline comment
Comments must appear alone on lines in some cases
[
and ]
section end
delimitersection
declaration or at the end of the file[section]
key1 = a
key2 = b
The same as JSON
below 👇
{
"section": {
"key1": "a",
"key2": "b"
}
}
[section]
domain = askhacker.com
[section.subsection]
foo = bar
The same as JSON
below 👇
{
"section": {
"domain": "askhacker.com"
"subsection": {
"foo": "bar"
}
}
}
Nest to previous section (shorthand)
[section]
domain = askhacker.com
[.subsection]
foo = bar
sequence | meaning |
---|---|
\\ |
\ (single backslash, escape escape character) |
\' |
apostrophe |
\" |
double quotes |
\0 |
null character |
\a |
ringtone/alert/sound |
\b |
Backspace, [Bell character] for some applications (https://en.wikipedia.org/wiki/Bell_character) |
\t |
tab character |
\r |
carriage return |
\n |
newline |
\; |
semicolon |
\# |
number sign |
\= |
equal sign |
\: |
colon |
\x???? |
Unicode character for the hexadecimal code point corresponding to ???? |
[section]
domain = askhacker.com
array[]=first value
array[]=second value
The same as JSON
below 👇
{
"section": {
"domain": "askhacker.com",
"array": [
"first value",
"second value"
]
}
}