← Blog
Бесплатный инструмент30 мая 2026·4 мин. чтения

Как удалить все твиты сразу — Бесплатно, без API, без приложения

В X/Twitter нет кнопки «удалить всё». Платные инструменты берут помесячно. Этот бесплатный скрипт для браузера справится за несколько минут — без установки, без аккаунта, без подвоха.

Проблема

Будь то ребрендинг, очистка старого аккаунта или свежий старт — удалять тысячи твитов по одному нереально. X не предоставляет функцию массового удаления. Сервисы вроде TweetDelete работают — но берут €6–15 в месяц за то, что должно быть бесплатным.

Бесплатное решение

Мы создали JavaScript-скрипт, который работает прямо в консоли браузера. Он автоматически прокручивает ваш профиль, определяет ваши собственные твиты и репосты и удаляет их по одному. Без установки, без API-ключа, без внешних сервисов — только ваш браузер.

Мы использовали его сами для очистки старого аккаунта X перед перезапуском @Sublime_Arts_ — он удалил сотни публикаций без единой проблемы.

Как пользоваться — 3 шага

1Перейдите на страницу вашего профиля X — x.com/ваш_никнейм
2Откройте DevTools: нажмите F12 → перейдите на вкладку Console
3Вставьте скрипт ниже и нажмите Enter. Не закрывайте вкладку.

Что делает скрипт

↩️Отменяет все репосты
🗑️Удаляет оригинальные твиты
🔍Только основная колонка ленты
⏭️Пропускает рекламу и чужие посты

Прогресс записывается в консоль в режиме реального времени. Останавливается автоматически после 8 пустых прокруток. Перезапустите скрипт, если X подгрузил дополнительные публикации.

Скрипт

cleanup_x_profile.jsF12 → Console
const sleep = ms => new Promise(r => setTimeout(r, ms));

async function cleanupXProfile() {
  let repostsRemoved = 0, tweetsDeleted = 0, emptyScrolls = 0;
  const getCol = () =>
    document.querySelector('[data-testid="primaryColumn"]') ||
    document.querySelector('main') || document;
  const closeMenu = async () => {
    document.dispatchEvent(new KeyboardEvent('keydown',
      { key: 'Escape', keyCode: 27, bubbles: true }));
    await sleep(250);
    const h = getCol().querySelector('h1, h2');
    if (h) h.click(); await sleep(200);
  };
  console.log('🧹 X Profile Cleanup started...');
  while (emptyScrolls < 8) {
    let actions = 0; const col = getCol();
    for (const btn of [...col.querySelectorAll('button')]
      .filter(b => b.innerHTML.includes('M4.75 3.79l4.603'))) {
      try {
        btn.click(); await sleep(700);
        const c = document.querySelector('[data-testid="unretweetConfirm"]');
        if (c) { c.click(); repostsRemoved++; actions++;
          console.log(`↩️ Repost removed #${repostsRemoved}`); await sleep(900);
        } else await closeMenu();
      } catch { await closeMenu(); }
    }
    for (const btn of [...col.querySelectorAll('button')]
      .filter(b => b.innerHTML.includes('M3 12c0-1.1.9-2 2-2s2'))) {
      await closeMenu(); await sleep(300);
      try {
        btn.click(); await sleep(800);
        const del = [...document.querySelectorAll('[role="menuitem"]')]
          .find(i => i.textContent.trim()
            .match(/^(Delete|Elimina|Supprimer|Löschen|Eliminar|Удалить|削除|삭제)$/));
        if (del) {
          del.click(); await sleep(700);
          const ok = document.querySelector('[data-testid="confirmationSheetConfirm"]');
          if (ok) { ok.click(); tweetsDeleted++; actions++;
            console.log(`🗑️ Tweet deleted #${tweetsDeleted}`); await sleep(1200);
          } else await closeMenu();
        } else await closeMenu();
      } catch { await closeMenu(); }
    }
    if (actions === 0) { emptyScrolls++;
      console.log(`Scrolling... (${emptyScrolls}/8)`);
    } else emptyScrolls = 0;
    window.scrollBy(0, 900); await sleep(2000);
  }
  console.log(`\n✅ Done! Reposts: ${repostsRemoved} | Tweets: ${tweetsDeleted}`);
}
cleanupXProfile();

About

Патрик Чен — независимый разработчик Sublimearts.io. Создал этот инструмент, когда очищал собственный аккаунт X перед перезапуском.