Hotbar Tabs Generator
A little tool for making fancy tabbed HUD layouts in FFXIV.

Let's Generate You Some Macros
How-To
- Fill in how many tabs you want.
- Select which hotbars will be controlled by the tabs. The tab buttons themselves will also live on one of these bars, so plan accordingly to make sure you have enough slots to fit everything you want.
- Click “Generate” and copy/paste the resulting macros into your macro list.
- The “Open” macros display the specified tab on your hotbars.
- The “Save” macros save the current layout of your hotbars into the specified tab.
After copying all your macros, you’ll need to set up your layout for the first time.
- Make sure the selected hotbars are set to shared. This is done in Character configuration > Hotbars > Sharing.
- Clear these hotbars and set up the layout for your tabs however you like, making sure each “Open” macro is added somewhere.
- In the “User Macros” window, go down the list of “Save” macros you copied, and run every single one in sequence (right-click > Execute on each). This will save your base layout to all your tabs.
- Try out each tab button. If you’ve done everything correctly, nothing should change when you click each tab. If the buttons disappear, you’ve done something wrong.
- At this point you’re ready to customize the appearance of all your tabs. Press a tab button, customize however you like, and then run the corresponding “Save” macro for that tab.
How it Works & Caveats
Normally, hotbar contents are stored separately for each class/job. When you turn on sharing for a hotbar, that hotbar’s contents come not from any specific class/job, but from a separate “shared” storage space independent of the others. The class-specific hotbar data still exists, and can be manipulated via the /hotbar
command, but is inaccessible in the UI. These macros work by saving your tab layouts to these unused, invisible hotbar slots “underneath” the shared hotbar.
The hotbar you see on screen always corresponds to the “shared” hotbar state, while each tab you set up is stored in the hotbar state of a particular job or class. Opening a tab works by copying the corresponding class/job hotbar into the shared hotbar, and saving is just the opposite.
Additionally, since combat classes and jobs are distinct and do not share hotbar slots with each other, we can make the setup even less intrusive by storing the tabs in class (e.g. Marauder) hotbars rather than job (e.g. Warrior) hotbars. If you want more than nine tabs, however, you run out of classes, and the tool will begin storing further tabs in job hotbars. This is still inconsequential for most people and only causes problems if you tend to toggle your hotbars in and out of sharing mode frequently.
Advanced Tips
- You can replace the “Open” button for the current tab with its “Save” macro instead; this will let you easily edit your tabs without having to open the macros menu, and also lets you pick a different icon to use when the tab is selected.
- The light/dark numbered macro icons make good candidates for contrasting active/inactive tab icons!
- Adding a “close” button is easy; it’s just an additional tab that you don’t add anything to after initial setup. You can hide the “close” button when no other tabs are open by just removing it from the “empty” tab.
- There’s nothing that actually requires you to have all your tab-switching buttons be visible at all times. Since the tab switching buttons themselves are stored in each individual tab, It’s possible to nest tabs or do even fancier layouts with some additional planning. These cases often benefit from either making empty hotbar slots transparent, or modifying some of the macros to show/hide different hotbar UI elements.
- One cool way to do this is to have each tab just contain the button to go to the next tab. This gives you a single-button cycling layout, which is great for the cross hotbar since only one slot is taken up by tab-switching controls.
- If you want to get really fancy, you can also have one tab that’s job-dependent (behaving like a non-shared hotbar, with different contents for each job). For one of your tab’s macros, rather than using a specific class like
MRD
, you can use the keywordcurrent
. This will cause that tab to be loaded from/saved to your current job’s hotbar.- This limits you to only nine other tabs, since the “current” hotbar could come from any job, and you only have the base classes left to store other tabs in. This also means it may act strange if you try to use it without a job stone equipped