Skip to content

Instantly share code, notes, and snippets.

@JLCareglio
Last active February 6, 2025 11:07
Show Gist options
  • Save JLCareglio/6366b1367428baae04151dfef6ceae47 to your computer and use it in GitHub Desktop.
Save JLCareglio/6366b1367428baae04151dfef6ceae47 to your computer and use it in GitHub Desktop.
🇺🇸 Adds a button to export Steam Family Library as TSV. 🇦🇷 Agrega un botón para exportar como TSV la biblioteca familiar de Steam

Export Steam Family Games

This script or UserScript adds a button to export Steam Family Library in TSV format.

image

License: MIT Tampermonkey Steam

Firefox Chrome Opera Safari Edge Brave

✨ Features

  • Adds "Export TSV" button next to "Show All" button in each family library panel
  • Exports detailed information of all games in TSV format
  • Includes:
    • App ID
    • Game title
    • Number of owners
    • Game image links (capsule, vertical and horizontal banners)
  • Compatible with multiple browsers

🚀 Installation

  1. Install Tampermonkey or other userscript manager
  2. Click here to install the script
  3. Visit Steam Family Management to try it

💡 Usage

  1. Go to your Steam family management page
  2. You'll find a new "Export TSV" button next to "Show All"
  3. Click "Export TSV" to start the export and wait
  4. The TSV file will download automatically
// ==UserScript==
// @name Export Steam Family Games
// @name:bg Експортиране на Steam семейни игри
// @name:cs Exportovat Steam rodinné hry
// @name:da Eksporter Steam familie spil
// @name:de Steam-Familienbibliothek exportieren
// @name:el Εξαγωγή παιχνιδιών οικογένειας Steam
// @name:en Export Steam Family Games
// @name:eo Eksporti Steam Familio Ludojn
// @name:es Exportar Biblioteca Familiar de Steam
// @name:es-la Exportar Biblioteca Familiar de Steam
// @name:es-419 Exportar Biblioteca Familiar de Steam
// @name:fi Vie Steam-perhepelit
// @name:fr Exporter les Jeux de la Famille Steam
// @name:fr-CA Exporter les Jeux de la Famille Steam
// @name:he ייצוא משחקי משפחה של Steam
// @name:hr Izvoz Steam obiteljskih igara
// @name:hu Steam családi játékok exportálása
// @name:id Ekspor Game Keluarga Steam
// @name:it Esporta Giochi della Famiglia Steam
// @name:ja Steamファミリーゲームをエクスポート
// @name:ka ექსპორტი Steam ოჯახის თამაშები
// @name:ko Steam 가족 게임 내보내기
// @name:nb Eksporter Steam familie spill
// @name:nl Exporteer Steam familie spellen
// @name:pl Eksportuj gry rodzinne Steam
// @name:pt-BR Exportar Jogos da Família Steam
// @name:ro Exportă jocurile de familie Steam
// @name:sv Exportera Steam familjespel
// @name:th ส่งออกเกมครอบครัว Steam
// @name:tr Steam Aile Oyunlarını Dışa Aktar
// @name:ug Steam ئائىلە ئويۇنلىرىنى ئېكسپورت قىلىش
// @name:uk Експортувати сімейні ігри Steam
// @name:vi Xuất trò chơi gia đình Steam
// @name:zh-TW 匯出 Steam 家庭遊戲
// @namespace https://jlcareglio.github.io/
// @version 1.0.11
// @description Adds a button to export Steam Family Library as TSV
// @description:bg Добавя бутон за експортиране на Steam семейната библиотека като TSV
// @description:cs Přidá tlačítko pro exportování rodinné knihovny Steam jako TSV
// @description:da Tilføjer en knap til at eksportere Steam-familiebiblioteket som TSV
// @description:de Fügt eine Schaltfläche hinzu, um die Steam-Familienbibliothek als TSV zu exportieren
// @description:el Προσθέτει ένα κουμπί για την εξαγωγή της οικογενειακής βιβλιοθήκης Steam ως TSV
// @description:en Adds a button to export Steam Family Library as TSV
// @description:eo Aldonas butonon por eksporti Steam Familio Bibliotekon kiel TSV
// @description:es Agrega un botón para exportar como TSV la biblioteca familiar de Steam
// @description:es-la Agrega un botón para exportar como TSV la biblioteca familiar de Steam
// @description:es-419 Agrega un botón para exportar como TSV la biblioteca familiar de Steam
// @description:fi Lisää painikkeen Steam-perhekirjaston viemiseksi TSV-muodossa
// @description:fr Ajoute un bouton pour exporter la Bibliothèque Familiale Steam en TSV
// @description:fr-CA Ajoute un bouton pour exporter la Bibliothèque Familiale Steam en TSV
// @description:he מוסיף כפתור לייצוא ספריית המשפחה של Steam כ-TSV
// @description:hr Dodaje gumb za izvoz Steam obiteljske biblioteke kao TSV
// @description:hu Hozzáad egy gombot a Steam családi könyvtár TSV formátumban történő exportálásához
// @description:id Menambahkan tombol untuk mengekspor Perpustakaan Keluarga Steam sebagai TSV
// @description:it Aggiunge un pulsante per esportare la Libreria Familiare di Steam come TSV
// @description:ja SteamファミリーライブラリをTSVとしてエクスポートするボタンを追加
// @description:ka ამატებს ღილაკს Steam ოჯახის ბიბლიოთეკის TSV ფორმატში ექსპორტისთვის
// @description:ko Steam 가족 라이브러리를 TSV로 내보내는 버튼을 추가합니다
// @description:nb Legger til en knapp for å eksportere Steam-familiebiblioteket som TSV
// @description:nl Voegt een knop toe om de Steam-familiebibliotheek als TSV te exporteren
// @description:pl Dodaje przycisk do eksportowania biblioteki rodzinnej Steam jako TSV
// @description:pt-BR Adiciona um botão para exportar a Biblioteca da Família Steam como TSV
// @description:ro Adaugă un buton pentru a exporta biblioteca de familie Steam ca TSV
// @description:sv Lägger till en knapp för att exportera Steam-familjebiblioteket som TSV
// @description:th เพิ่มปุ่มเพื่อส่งออกคลังครอบครัว Steam เป็น TSV
// @description:tr Steam Aile Kitaplığını TSV olarak dışa aktarmak için bir düğme ekler
// @description:uk Додає кнопку для експорту сімейної бібліотеки Steam у форматі TSV
// @description:ug Steam ئائىلە ئويۇنلىرىنى TSV شەكلىدە ئېكسپورت قىلىش ئۈچۈن كۇنۇپكا قوشىدۇ
// @description:vi Thêm nút để xuất Thư viện Gia đình Steam dưới dạng TSV
// @description:zh-TW 添加按鈕以 TSV 格式匯出 Steam 家庭遊戲庫
// @icon https://www.google.com/s2/favicons?sz=64&domain=store.steampowered.com
// @grant none
// @author Jesús Lautaro Careglio Albornoz
// @source https://gist.githubusercontent.com/JLCareglio/6366b1367428baae04151dfef6ceae47/raw/01_Export-Steam-Family-Games.user.js
// @match *://store.steampowered.com/account/familymanagement*
// @updateURL https://gist.githubusercontent.com/JLCareglio/6366b1367428baae04151dfef6ceae47/raw/01_Export-Steam-Family-Games.user.js
// @downloadURL https://gist.githubusercontent.com/JLCareglio/6366b1367428baae04151dfef6ceae47/raw/01_Export-Steam-Family-Games.user.js
// @license MIT
// @compatible firefox
// @compatible chrome
// @compatible opera
// @compatible safari
// @compatible edge
// @compatible brave
// @supportURL https://gist.github.com/JLCareglio/6366b1367428baae04151dfef6ceae47/
// ==/UserScript==
(async () => {
const waitForElement = (
querySelector,
timeout = null,
parentElement = document
) => {
return new Promise((resolve, reject) => {
const observer = new MutationObserver(() => {
const element = parentElement.querySelector(querySelector);
if (element) {
observer.disconnect();
resolve(element);
}
});
observer.observe(document.body, { childList: true, subtree: true });
const element = parentElement.querySelector(querySelector);
if (element) {
observer.disconnect();
resolve(element);
}
if (timeout !== null) {
setTimeout(() => {
observer.disconnect();
reject(
`Elemento con selector "${querySelector}" no encontrado dentro del tiempo límite de ${timeout}ms.`
);
}, timeout);
}
});
};
const panelsContainer = await waitForElement("._3Pnf9j-DVi9cm7cJ383yI1");
const panels = panelsContainer.querySelectorAll("._1o7lKXffOJjZ_CpH1bHfY-");
const maxWaitingTime = 50000; // If this maxWaitingTime is reached, an error has occurred
const exportAllGames = async (e) => {
const allGames = [];
const btnExport = e.target;
const panel = btnExport.parentElement.parentElement.parentElement;
const numGames = parseInt(
panel.querySelector("._3x604kYqXRJbqWmeLWAHrj").innerText.match(/\d+/)[0]
);
for (const p of panels) if (p != panel) p.remove();
const btnShowAll = panel.querySelector(
"div:nth-child(2)._1ve5nrPCrUjlbKp1PXsiJD > button"
);
btnShowAll.click();
let rowIndex = 0;
let lastColIndex = 7;
try {
const firstRow = await waitForElement(
".-padb24TteB2RGJuMHdLn",
maxWaitingTime,
panel
);
lastColIndex = firstRow?.childElementCount || 7;
} catch (e) {}
while (allGames.length < numGames) {
let lastRow;
try {
lastRow = await waitForElement(
`[data-index="${rowIndex}"]`,
maxWaitingTime,
panel
);
} catch (error) {
console.error(`Error procesando fila ${rowIndex}:`, error);
break;
}
lastRow.scrollIntoView();
for (
let colIndex = 1;
colIndex <= lastColIndex && allGames.length < numGames;
colIndex++
) {
try {
const gameSelector = `[data-index="${rowIndex}"] > div > [data-key]:nth-child(${colIndex})`;
const game = await waitForElement(
gameSelector,
maxWaitingTime,
lastRow
);
const appId = game
.querySelector("img")
?.src.match(/apps\/(\d+)\//)?.[1];
const verticalImgBanner = `https://cdn.cloudflare.steamstatic.com/steam/apps/${appId}/library_600x900.jpg`;
const horizontalImgBanner = `https://cdn.cloudflare.steamstatic.com/steam/apps/${appId}/header.jpg`;
const capsuleImg = `https://cdn.cloudflare.steamstatic.com/steam/apps/${appId}/capsule_231x87.jpg`;
const title = game.querySelector("img")?.alt;
const owners =
game.querySelector(".OchtG0jyJQXcr2o0t34q7")?.innerText || "1";
allGames.push({
appId,
title,
owners,
capsuleImg,
verticalImgBanner,
horizontalImgBanner,
});
console.log(
`Procesado juego ${allGames.length}/${numGames}: ${title}`
);
} catch (error) {
lastColIndex = colIndex - 1;
console.log(`Tamaño máximo de columnas cambiado a ${lastColIndex}`);
break;
}
}
rowIndex++;
}
const headers =
"App ID\tTitle\tOwners\tCapsule Image\tVertical Image Banner\tHorizontal Image Banner";
let tsvContent = allGames
.map(
(game) =>
`${game.appId}\t${game.title}\t${game.owners}\t${game.capsuleImg}\t${game.verticalImgBanner}\t${game.horizontalImgBanner}`
)
.join("\n");
tsvContent = `${headers}\n${tsvContent}`;
let blob = new Blob([tsvContent], { type: "text/tab-separated-values" });
let url = URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = "steam_family_games.tsv";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
};
for (const panel of panels) {
const btnShowAll = panel.querySelector(
"div:nth-child(2)._1ve5nrPCrUjlbKp1PXsiJD"
);
let btnExport = btnShowAll.cloneNode(true);
btnExport.addEventListener("click", exportAllGames);
btnExport.querySelector("button").innerText = "Export TSV";
btnShowAll.parentElement.appendChild(btnExport);
}
})();

Export Steam Family Games

This script or UserScript adds a button to export Steam Family Library in TSV format.

image

License: MIT Tampermonkey Steam

Firefox Chrome Opera Safari Edge Brave

✨ Features

  • Adds "Export TSV" button next to "Show All" button in each family library panel
  • Exports detailed information of all games in TSV format
  • Includes:
    • App ID
    • Game title
    • Number of owners
    • Game image links (capsule, vertical and horizontal banners)
  • Compatible with multiple browsers

🚀 Installation

  1. Install Tampermonkey or other userscript manager
  2. Click here to install the script
  3. Visit Steam Family Management to try it

💡 Usage

  1. Go to your Steam family management page
  2. You'll find a new "Export TSV" button next to "Show All"
  3. Click "Export TSV" to start the export and wait
  4. The TSV file will download automatically

Exportar Biblioteca Familiar de Steam

Este script o UserScript agrega un botón para exportar la Biblioteca Familiar de Steam en formato TSV.

image

License: MIT Tampermonkey Steam

Firefox Chrome Opera Safari Edge Brave

✨ Características

  • Agrega un botón "Export TSV" junto al botón "Show All" en cada panel de biblioteca familiar
  • Exporta información detallada de todos los juegos en formato TSV
  • Incluye:
    • ID de la aplicación
    • Título del juego
    • Número de propietarios
    • Enlaces a imágenes del juego (cápsula, banner vertical y horizontal)
  • Compatible con múltiples navegadores

🚀 Instalación

  1. Instala Tampermonkey u otro gestor de userscripts
  2. Haz clic aquí para instalar el script
  3. Visita Steam Family Management para probarlo

💡 Uso

  1. Ve a tu página de gestión familiar de Steam
  2. Encontrarás un nuevo botón "Export TSV" junto a "Show All"
  3. Haz clic en "Export TSV" para comenzar la exportación y espera
  4. El archivo TSV se descargará automáticamente

Esporta Giochi della Famiglia Steam

Questo script o UserScript aggiunge un pulsante per esportare la Libreria Famiglia Steam in formato TSV.

image

License: MIT Tampermonkey Steam

Firefox Chrome Opera Safari Edge Brave

✨ Caratteristiche

  • Aggiunge il pulsante "Export TSV" accanto al pulsante "Show All" in ogni pannello della libreria famiglia
  • Esporta informazioni dettagliate di tutti i giochi in formato TSV
  • Include:
    • ID dell'applicazione
    • Titolo del gioco
    • Numero di proprietari
    • Link alle immagini del gioco (capsula, banner verticale e orizzontale)
  • Compatibile con diversi browser

🚀 Installazione

  1. Installa Tampermonkey o altro gestore di userscript
  2. Clicca qui per installare lo script
  3. Visita Steam Family Management per provarlo

💡 Utilizzo

  1. Vai alla tua pagina di gestione famiglia Steam
  2. Troverai un nuovo pulsante "Export TSV" accanto a "Show All"
  3. Clicca su "Export TSV" per iniziare l'esportazione e attendi
  4. Il file TSV verrà scaricato automaticamente

Steamファミリーゲームをエクスポート

このスクリプトまたは UserScript は、Steam ファミリーライブラリを TSV 形式でエクスポートするボタンを追加します。

image

License: MIT Tampermonkey Steam

Firefox Chrome Opera Safari Edge Brave

✨ 機能

  • 各ファミリーライブラリパネルの「すべて表示」ボタンの横に「Export TSV」ボタンを追加
  • すべてのゲームの詳細情報を TSV 形式でエクスポート
  • 含まれる情報:
    • アプリ ID
    • ゲームタイトル
    • 所有者数
    • ゲーム画像リンク(カプセル、縦バナー、横バナー)
  • 複数のブラウザに対応

🚀 インストール

  1. Tampermonkeyまたは他のユーザースクリプトマネージャーをインストール
  2. ここをクリックしてスクリプトをインストール
  3. Steam ファミリー管理にアクセスして試してみる

💡 使用方法

  1. Steam ファミリー管理ページにアクセス
  2. 「すべて表示」ボタンの横に新しい「Export TSV」ボタンが表示されます
  3. 「Export TSV」をクリックしてエクスポートを開始し、待機
  4. TSV ファイルが自動的にダウンロードされます
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment