Where is the Launchpad database stored and is there a way to edit it directly? When exploring the new Launchpad feature, at first, it would seem as is it draws it's content primarily from the Programs folder.

It seems to be the case, however, that the Launchpad database is drawn from somewhere else. 

For example, when installing a game through Steam, the game itself will not show up in the Programs folder, but will show up in Launchpad. In this particular case, I want it to be in Launchpad. The drawbacks, however, are that I am unable to remove the game from Launchpad and am unable to change the icon.

Where can I directly view and modify every Launchpad occurrence?
The Launchpad database is located at ~/Library/Application Support/Dock/*some-hex-name*.db

To edit it, you'll have to use SQLite. You can do this on the command line, or with a graphic interface.

See this Ask Different question for recommendations for a GUI app.



MacOS Sierra and newer

On macOS Sierra and newer the old launchpad database does not exists anymore. Instead every user has his personal launchpad database somewhere inside /private/var/folders (contains a lot of cryptic names).

How to find the database

The personal database is owned by you user, so you can use the following command to find out the path of the database:

 echo $(find /private/var/folders -user $(id -u) -name com.apple.dock.launchpad 2&gt; /dev/null)/db/db


After you have the path to the new database, you can continue to edit it like before (e.g. using sqlite3 command).

Thanks to Chris Perry from Jamf Nation for sharing what he found! See his post here.