Dota 2 Generator: Custom Hero Grid in Seconds: The Hero Grid Generator Tool

The Hero Grid Generator Tool builds a custom Dota 2 hero grid in seconds: presets by role, attribute or complexity, your own categories, import of your current grid, download as hero_grid_config.json.

Hero Grid Generator

Open full tool

This tool is created with love for Dota 2 and for helping you to play better every day and rank up! Have Fun and Enjoy!

Axe in painter's overalls with a paint roller, pinning hero tiles onto a sorted corkboard, title image of the Dota 2 Hero Grid Generator Tool

The Dota 2 Hero Grid Generator Tool

The hero grid in the Dota 2 client can be sorted any way you like, but sorting 127 heroes by hand, tile by tile, takes an evening. The Hero Grid Generator Tool does it in a click: pick a preset (by role, attribute, complexity, melee or ranged, cores and supports), rename the rows, move heroes around, add a “My pool” row, and download hero_grid_config.json. Drop the file into your Steam folder, restart the game, done. You can also import the grid you already have and edit it here. Axe sorted his grid into “Axe” and “Targets”. It took him four seconds.

  1. Pick a preset or start empty. Rename any row by clicking its name.
  2. Move heroes: “+ Add” opens a search for the selected row, a click on a tile removes it, the grey tiles at the bottom are the heroes not in the grid yet.
  3. Download hero_grid_config.json, put it in the folder below, restart Dota 2. The grid is saved in your browser, so you can come back and change it.

Need more room for 127 tiles? Open the full tool: the whole board big on a dark page, Axe next to it.

Axe explains

Hero grids in 10 seconds

  1. 127heroes to sort.
  2. 6ready presets, plus empty.
  3. 570is the folder: Steam, userdata, your ID, 570, remote, cfg.
  4. 1restart of Dota 2, then it shows.

Axe’s grid has one row. It is called Axe. Nobody else fits.

What a custom hero grid is

The hero grid is the hero picker you see in the draft and on the Heroes page. By default it sorts by attribute: 36 Strength, 35 Agility, 34 Intelligence and 22 Universal heroes. The game lets you build your own grids with any categories you want: your comfort picks, heroes you are learning, heroes per position, heroes to ban. You can edit a grid inside the game, but the client only lets you drag one hero at a time, and the layout is stored as a plain file in your Steam user data. That file is what this tool writes.

Dragging 127 tiles one by one is for people with small hands. Axe has a paint roller.

Not sure which heroes belong in your pool? The Beginner Hero Finder picks the right ones for your style, and the Random Hero Picker fills a “try something new” row.

Where the file goes: hero_grid_config.json

Close Dota 2 first. Then put the downloaded file here, replacing the one that is there (keep a backup if you made grids in the game):

Windows
C:\Program Files (x86)\Steam\userdata\<your Steam ID>\570\remote\cfg\hero_grid_config.json
Mac
~/Library/Application Support/Steam/userdata/<your Steam ID>/570/remote/cfg/hero_grid_config.json
Linux
~/.steam/steam/userdata/<your Steam ID>/570/remote/cfg/hero_grid_config.json

“Your Steam ID” is the numbered folder inside userdata; with several accounts on the PC, pick the one you play Dota on. Start the game, open the hero grid and choose your grid from the dropdown at the top. The “remote” folder is synced by Steam Cloud, which is why the game should be closed while you swap the file.

While you are in the cfg folder: the Autoexec Generator builds the other file that lives there, and the Hotkey Builder sorts out your keys.

The presets: hero grid by role, attribute, complexity and more

Every preset places all 127 heroes, each row alphabetical, from Valve's own hero data:

  • By attribute Strength, Agility, Intelligence and Universal, each A to Z: the in-game default, as a file you can edit.Strength (36) · Agility (35) · Intelligence (34) · Universal (22)
  • By role Every hero in the row of Valve's main role for him: Carry, Support, Nuker, Disabler, Durable, Escape, Pusher, Initiator, Jungler.Carry (35) · Support (26) · Nuker (19) · Disabler (13) · Durable (9) · Escape (10) · Pusher (5) · Initiator (10)
  • By complexity Valve's own difficulty stars: 1-star heroes first, then 2 and 3. Good for a learning account.★ Simple (55) · ★★ Medium (59) · ★★★ Complex (13)
  • Melee / ranged Two rows: melee heroes and ranged heroes.Melee (62) · Ranged (65)
  • Cores / supports Cores (Valve's Carry role 2 or higher), Supports (Support role 2 or higher) and the heroes that fit both or neither.Cores (46) · Supports (31) · Both (0) · Flex (50)
  • A to Z One row, every hero alphabetically.All heroes (127)
  • Empty Start from scratch: your own categories, your own picks.

Tips from Axe’s workshop: keep the rows short, the game shows a row in as many lines as it needs, but a short row is easier to scan in a 30-second draft. A “Ban” row at the top saves you the search. And a row named after your friend, with the three heroes he always picks, is a valid use of this tool.

Hero guides · Dota2FreaksEvery Dota 2 hero with builds and skill orderGrid sorted. Now learn the heroes in your pool with builds, skill order and counters.

What is inside hero_grid_config.json

The file is plain JSON. Version 3 holds a list of grids; each grid has a name and its categories, and each category has a name, a position and size in the game's layout units, and the list of Valve hero IDs it shows. The tool computes the heights from the game's own hero card size (51 × 83 units plus 8 padding) so rows never overlap, with 18 heroes per line in a one-column grid and 9 per line in two columns. A short example:

{
  "version": 3,
  "configs": [
    {
      "config_name": "My grid",
      "categories": [
        {
          "category_name": "Cores",
          "x_position": 0,
          "y_position": 0,
          "width": 1100,
          "height": 107.7,
          "hero_ids": [
            1,
            8,
            44
          ]
        },
        {
          "category_name": "Supports",
          "x_position": 0,
          "y_position": 127.7,
          "width": 1100,
          "height": 107.7,
          "hero_ids": [
            5,
            26,
            31
          ]
        }
      ]
    }
  ]
}

Axe does not read JSON. Axe downloads JSON. Then Axe reads the enemy.

Free guide · Dota2FreaksRank Up Guide: find the one thing holding you backGrid done, pool set. Five quick questions show which habit to fix next.

FAQ: Axe answers questions

Where is the Dota 2 hero grid config file?

In your Steam user data folder: C:\Program Files (x86)\Steam\userdata\<your Steam ID>\570\remote\cfg\hero_grid_config.json on Windows, ~/Library/Application Support/Steam/userdata/<your Steam ID>/570/remote/cfg/hero_grid_config.json on Mac and ~/.steam/steam/userdata/<your Steam ID>/570/remote/cfg/hero_grid_config.json on Linux. Replace the Steam ID with the folder that is there; if you have several, it is the account you play Dota on.

My custom hero grid does not show up in the game. Why?

Dota 2 reads hero_grid_config.json when it starts, so close the game completely, replace the file, then start it again. Keep the exact file name. If it still does not appear, open the hero grid in the game and pick your grid from the dropdown at the top: the game keeps every grid in the file.

Can I have more than one hero grid?

Yes. The file holds a list of grids (“configs”), and the game lets you switch between them. The Hero Grid Generator Tool writes one grid per download; to keep several, import your current file first, edit, and download, or paste the new grid into the configs list of your existing file.

How do I make a hero grid by role?

Click the “By role” preset: every hero lands in the row of the main role Valve gives him (Carry, Support, Nuker, Disabler, Durable, Escape, Pusher, Initiator, Jungler). Rename rows, move heroes, download.

What are the numbers in hero_ids?

Valve’s hero IDs, the same ones the game and every API use: 1 is Anti-Mage, 2 is Axe, 8 is Juggernaut. The tool fills them in for you.

Does the hero grid sync through Steam Cloud?

The file lives in the “remote” folder, which Steam Cloud syncs for Dota 2. Change it with the game closed so the cloud copy does not overwrite your new file, and keep a backup of the old one.

Data: Valve's official Dota 2 datafeed · updated