Client.json

client.json is the file that accompanies client.jar in .minecraft/versions/  and lists the version's attributes. When using the latest version of the Minecraft launcher, it is named  .json. The JSON file for specific versions is located in the version_manifest.json file.

JSON format
This is the JSON format for client.json.


 * The root tag.
 * : Contains information about the username, the version, the game directory and more. Also contains compound tags, explained below.
 * A value in the list.
 * This tag appears twice.
 * This tag contains "action" and "features".
 * : Its value is "allow".
 * : Appears only in the first appearance of the compound tag.
 * : Appears only in the second appearance of the compound tag.
 * : Appears only in the first appearance of the compound tag. Its value is "--demo".
 * : Appears only in the second appearance of the compound tag. Keeps information about the width and height.
 * : A value in the list.
 * : A list of more compound tags containing "rules" and "value".
 * : This tag appears four times.
 * : This tag contains "action" and "os".
 * : Its value is "allow".
 * : Its value is "osx" for the first appearance of the compound tag and "windows" for the second and third. Does not appear in the fourth appearance.
 * : Appears only in the third appearance of the compound tag. Its value is "^10\\.".
 * : Appears only in the fourth appearance of the compound tag. Its value is "x86".
 * : Appears only in the second and fourth appearance of the compound tag.
 * : Appears only in the first and third appearance of the compound tag.
 * : A value.
 * : The assets version.
 * : The SHA1 of the assets file.
 * : The size of the version.
 * : The total size of the version.
 * : The URL that the game should visit to download the assets.
 * : As of Java Edition 1.14, this tag's value is "1.14".
 * This tag appears twice. Its name is "client" the first time and "server" the second.
 * : The SHA1 of the client.jar or the server.jar.
 * : The size of the client.jar or the server.jar.
 * : The URL that the game should visit to download the client.jar or the server.jar.
 * : The name of this version client (e.g. 1.14.3).
 * : A giant list of libraries.
 * : A library.
 * : A download.
 * : Info about the download.
 * : Path for an URL that downloads a file.
 * : The SHA1 of the file.
 * : The size of the file.
 * : The URL that the game should visit to download the file.
 * : Appears only for some libraries.
 * : This tag has the same tags as the "artifact" tag. It is for Linux, but appears even if the game is not run in Linux. Appears only in some libraries.
 * : This tag has the same tags as the "artifact" tag. It is for MacOS, but appears even if the game is not run in MacOS. Appears only in some libraries.
 * : This tag has the same tags as the "artifact" tag. It is for Windows, but appears even if the game is not run in Windows. Appears only in some libraries.
 * : This tag has the same tags as the "artifact" tag. It is for downloading a "java-objc-bridge-1.0.0-javadoc.jar" file. Appears only in one library.
 * : This tag has the same tags as the "artifact" tag. It is for OS X, but appears even if the game is not run in OS X. Appears only in one library.
 * : This tag has the same tags as the "artifact" tag. It is for downloading a "java-objc-bridge-1.0.0-sources.jar" file. Appears only in one library.
 * : A name that looks like an APK name, but shows what is downloaded.
 * : Appears only when there are classifiers for natives.
 * : This tag's name depends on the natives that appear in the classifiers, so it can be "linux", "macos", "windows" or "osx". Its value will be the corresponding classifier ("natives-linux" etc.).
 * : Appears only in two libraries.
 * : Shows what to exclude from the extraction.
 * : Its value is "META-INF/".
 * : Appears only in the last two libraries. Contains a compound with the tags "action" and "os", as shown above.
 * : Its value is "-Dlog4j.configurationFile=${path}".
 * : Its value is "client-1.12.xml", but may differ for older versions.
 * : The SHA1 for this file.
 * : The size of the file.
 * : The URL the game should visit to download the file.
 * : Its value is "log4j2-xml".
 * : The main game class; for modern versions, it is, but it may differ for older or ancient versions.
 * : The minimum Launcher version that can run this version of the game.
 * : The release date and time.
 * : Same as "releaseTime".
 * : The type of this game version. It is shown in the version list when you create a new installation. The default values are "release" and "snapshot".
 * : Its value is "client-1.12.xml", but may differ for older versions.
 * : The SHA1 for this file.
 * : The size of the file.
 * : The URL the game should visit to download the file.
 * : Its value is "log4j2-xml".
 * : The main game class; for modern versions, it is, but it may differ for older or ancient versions.
 * : The minimum Launcher version that can run this version of the game.
 * : The release date and time.
 * : Same as "releaseTime".
 * : The type of this game version. It is shown in the version list when you create a new installation. The default values are "release" and "snapshot".