Skip to content

Instantly share code, notes, and snippets.

@jaredonline
Created April 13, 2026 02:01
Show Gist options
  • Select an option

  • Save jaredonline/d600c34716f87f5c87a3f0c5816912b5 to your computer and use it in GitHub Desktop.

Select an option

Save jaredonline/d600c34716f87f5c87a3f0c5816912b5 to your computer and use it in GitHub Desktop.

How to Move Your Forge Steel Data to the New Site

Hey all. Forge Steel moved from the old GitHub Pages URL to forgesteel.net. Your heroes and homebrew are still in your browser, but the new site can't see them because browsers keep data separated by website. You need to pull the data out of the old site and put it into the new one.

You need: The same computer and browser you used Forge Steel on before. If you used a different computer, this won't work. The data lives in that specific browser on that specific machine.

This takes about 5 minutes. It looks scarier than it is. You're going to copy-paste two blocks of code. That's it.


Step 1: Go to the Old Site

Your data is still saved in your browser even though the site is dead.

  1. Open the browser you used Forge Steel in (Chrome, Arc, Edge, Firefox, Safari, whatever)
  2. Go to: https://andyaiken.github.io/forgesteel/
  3. You'll see a 404 error page. That's fine. Don't close it.

Step 2: Open Developer Tools

This is the one part that might feel weird. You're opening a developer panel, it's not going to break anything.

Mac (Chrome, Arc, Edge, Firefox): Press Command + Option + I (all three keys at once)

Windows (Chrome, Arc, Edge, Firefox): Press Ctrl + Shift + I (all three keys at once)

Safari (Mac only): Safari hides this by default. First go to Safari > Settings > Advanced, and check "Show features for web developers". Then press Command + Option + I.

A panel opens on the side or bottom of your screen with a bunch of tabs. You want the one called Console.


Step 3: Check That Your Data Exists

Before exporting, make sure your data is actually there.

  1. In the Developer Tools panel, click the Application tab (Chrome/Arc/Edge) or Storage tab (Firefox/Safari)
  2. On the left side, find IndexedDB and click the arrow to expand it
  3. Look for localforage > keyvaluepairs
  4. You should see entries like forgesteel-heroes, forgesteel-homebrew-settings, etc.

If you see your data: keep going.

If it's empty: your browser data got cleared at some point and the data is gone. You'll need to rebuild your heroes on the new site. Sorry.


Step 4: Export Your Data

  1. Click the Console tab in Developer Tools
  2. Your browser might show a warning. If it says to type allow pasting, do that and hit Enter.
  3. Copy this ENTIRE block of code. All of it, every character:
const db = await new Promise(r => { const req = indexedDB.open('localforage'); req.onsuccess = () => r(req.result); });
const tx = db.transaction('keyvaluepairs', 'readonly');
const store = tx.objectStore('keyvaluepairs');
const keys = await new Promise(r => { const req = store.getAllKeys(); req.onsuccess = () => r(req.result); });
const vals = await new Promise(r => { const req = store.getAll(); req.onsuccess = () => r(req.result); });
const data = Object.fromEntries(keys.map((k, i) => [k, vals[i]]));
const blob = new Blob([JSON.stringify(data)], {type: 'application/json'});
const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = 'forgesteel-backup.json'; document.body.appendChild(a); a.click(); a.remove();
console.log('SUCCESS! Downloading forgesteel-backup.json. You have ' + (data['forgesteel-heroes'] || []).length + ' heroes.');
  1. Click in the Console area and paste it (Cmd+V on Mac, Ctrl+V on Windows)
  2. Hit Enter
  3. A file called forgesteel-backup.json should download automatically. You should also see a success message with your hero count.

If the file didn't download, check your Downloads folder. Some browsers block automatic downloads. If it's not there, try clicking somewhere on the page first, then paste and run the code again.

Hold onto this file. It's your backup.


Step 6: Import Into the New Site

  1. Go to https://forgesteel.net
  2. Open Developer Tools again (same keys as Step 2)
  3. Click the Console tab
  4. If it asks you to type allow pasting, do it
  5. Copy this ENTIRE block of code:
const input = document.createElement('input');
input.type = 'file';
input.accept = '.json';
input.onchange = async (e) => {
  const text = await e.target.files[0].text();
  const data = JSON.parse(text);
  const db = await new Promise(r => { const req = indexedDB.open('localforage'); req.onsuccess = () => r(req.result); });
  const tx = db.transaction('keyvaluepairs', 'readwrite');
  const store = tx.objectStore('keyvaluepairs');
  let count = 0;
  for (const [k, v] of Object.entries(data)) { store.put(v, k); count++; }
  tx.oncomplete = () => console.log('SUCCESS! Imported ' + count + ' items. RELOAD THE PAGE NOW (Cmd+R on Mac, Ctrl+R on Windows).');
};
document.body.appendChild(input);
input.click();
  1. Paste it into the Console and hit Enter
  2. A file picker will open. Go to your Desktop and pick forgesteel-backup.json
  3. You should see "SUCCESS! Imported X items."
  4. Reload the page: Cmd+R (Mac) or Ctrl+R (Windows)

Step 7: Check Your Heroes

After reloading, go to Heroes in Forge Steel. They should all be there.

If you see 0 heroes but the import said it worked: This probably means you're connected to a Patreon/Warehouse account and it's pulling from the cloud instead of local storage. Here's the fix:

  1. Go to the Transfer page in Forge Steel's menu
  2. Click "Merge Local data into Warehouse"
  3. Reload the page
  4. Your heroes should show up now

Step 8: Set Up Cloud Backup

Do this so you never have to deal with this again. Connect your Patreon account to Forge Steel, then go to the Transfer page and click "Merge Local data into Warehouse". That pushes everything to the cloud.


Troubleshooting

"I don't see IndexedDB" Make sure you're on the Application tab (Chrome/Arc/Edge) or Storage tab (Firefox/Safari). Try clicking the refresh button in the Developer Tools panel.

"The console says 'allow pasting'" Type allow pasting and hit Enter. Then paste the code again.

"I get an error about 'keyvaluepairs'" You might not have any Forge Steel data in this browser. Make sure you're using the same browser you originally used.

"The file picker didn't open" Click somewhere on the actual web page first, then paste the code again.

"My heroes imported but don't show up" Go to the Transfer page and merge local data into the Warehouse. Reload after.

"I used a different computer" The data only exists in the browser on the computer you originally used Forge Steel on. You have to do this on that machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment