Launcher profiles.json

launcher_profiles.json is a JSON file located in .minecraft, which contains all the Minecraft launcher settings, profiles, selected user/profile as well as the cached user information (email, access token, etc). This file allows flexible updating from older launcher versions to newer builds and vice versa, without having to worry about things like profiles and login session getting lost.

General file structure
launcher_profiles.json uses JSON structures to save and retrieve data. The main JSON keys are explained in the figure below.

Profiles structure
Profiles are saved in a map in the profiles section. A profile structure is explained in the table below:

Resolution structure
Resolution info is saved in profile resolution map

Authentication database structure
Authentication database is saved in the authenticationDatabase section. Structure is explained below:

The authentication database consists of UUID-hashed keys for all the logged in users. Every logged in user has its own key which is then used in saving things like the currently selected user, etc.

Every authenticated key consists of a couple of values, which are explained in the figure below.

Launcher version structure
The launcher version is saved in its own section in the JSON file (launcherVersion). It has a couple of values which contain information about the currently used build of the launcher. Every time a specific version of a launcher is ran, those values are updated to fit the latest-used launcher. This section allows better compatibility between launcher versions as well as update checking.

Launcher version keys are explained below:

Settings structure
This is one of the most important sections in the file. It contains all the settings controlled from the launcher, and is saved in the settings section. Every option is explained in the table below.

Selected user structure.
The selected user section stores information about the currently selected profile and the selected account. As mentioned above, accounts are stored as UUID-hashed keys. Then they are used for saving here

The keys are explained in the figure below.

Launcher profiles.json