The 3 “Best” Config File Formats

There are countless configuration file formats. Some are custom-designed for a specific application, such as those used by the Apache webserver or BIND. But more commonly these days, new applications use some sort of standardized configuration file formats, such as YAML, JSON, XML, or INI. Some applications, such as WordPress even use executable code as configuration files.

Most modern languages have libraries that will let you read (and in some cases, write) to a wide variety of configuration formats. Go’s Viper package supports 6 distinct file formats. Perl’s Config::Any supports 5 (plus executable Perl code).