TypeScript HTML CSS JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Build Status Crowdin OpenCollective OpenCollective

Launch DIM

Destiny Item Manager

Destiny Item Manager (DIM) lets Destiny game players easily move items between their Guardians and the Vault. DIM's goal is to let players equip their guardians quickly. Our Loadouts feature accomplishes this by removing manual steps needed when transferring items.

Loadouts give players the ability to define sets of items that they want on their Guardians. When a loadout is selected, DIM will move all of the items referenced by the Loadout to a Guardian. If the item was equipped by another guardian, the Loadouts feature will replace that item with a similar item, if possible, to allow the Loadout referenced item to be transferred. With a single click of a button, you can have a PVP, PVE, or Raid-ready guardian.

DIM is based on the same services used by the Destiny Companion app to move and equip items. DIM will not be able to dismantle any of your items.

Visit /r/DestinyItemManager or @ThisIsDIM for updates and more details.

Bugs and feature requests

Have a bug or a feature request? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.


Support us with a one-time or monthly donation and help us continue our active development.


Become a sponsor and get your logo here with a link to your site.


If you speak a language other than English that Destiny supports (Italian, German, French, Spanish, Japanese, or Portuguese), a great way to help with DIM development is to provide translations. See translation guide for more info on how to help.

Developer Quick start

Clone the repo:

  • git clone https://github.com/DestinyItemManager/DIM.git

Install dependencies:

  • Install NodeJS.
  • Install Yarn. If you're used to NPM, see "Migrating from NPM". If you were already using NPM with DIM, run yarn to convert to Yarn. Note (2018/4/25): Yarn from Homebrew will come with NodeJS 10, which isn't ready for prime time. Either install via npm install -g yarn or downgrade Node after installing.
  • Windows-based developers will need to install windows-build-tools (yarn global add windows-build-tools) globally prior to running yarn install. Refer to issue #1439 for details.
  • Linux-based developers will need to install build-essential (sudo apt-get install -y build-essential) prior to runninng yarn install.
  • Run yarn install.
    • Note that on Windows, the Git Bash shell may fail to fetch all necessary packages even when run as Admin (details). If that's the case, simply use cmd as Admin instead.

Check code Style

  • yarn lint will tell you if you're following the DIM code style (and automatically fix what it can).

Run your own local web server

  • yarn global add http-server will install http-server
  • yarn start will start webpack building (and rebuilding as file changes are detected)
  • then go in to the dist subdirectory and run http-server -S to run http-server over SSL. It'll run on port 8080.
  • If it complains about missing certificates, run openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem -subj '/CN=www.mydom.com/O=My Company Name LTD./C=US' in the dist directory (thanks to Stack Overflow and again to Stack Overflow for the quiet recipe) and generate your own local certs
  • After the one-time setup, yarn start and http-server -S and you're off to the races.

Get your own API key:

  • Goto Bungie
  • Open your extension in another tab, copy the url up to /index.html.
  • Paste your extension url into the Origin Header section on bungie.net
  • Copy your API-key from bungie.net into DIM developer settings panel when it is loaded.

Check out our contributor guide for more tips.

Code released under the MIT license.