Hero grids in 10 seconds
- 127heroes to sort.
- 6ready presets, plus empty.
- 570is the folder: Steam, userdata, your ID, 570, remote, cfg.
- 1restart of Dota 2, then it shows.
Axe’s grid has one row. It is called Axe. Nobody else fits.
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.

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!

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.
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
Axe’s grid has one row. It is called Axe. Nobody else fits.
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.
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):
C:\Program Files (x86)\Steam\userdata\<your Steam ID>\570\remote\cfg\hero_grid_config.json~/Library/Application Support/Steam/userdata/<your Steam ID>/570/remote/cfg/hero_grid_config.json~/.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.
Every preset places all 127 heroes, each row alphabetical, from Valve's own hero data:
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.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.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.
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.
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.
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.
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.
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