← Blog
무료 도구2026년 5월 30일·4분 읽기

모든 트윗을 한 번에 삭제하는 방법 — 무료, API 없이, 앱 없이

X/Twitter에는 '전체 삭제' 버튼이 없습니다. 유료 도구는 매월 요금을 청구합니다. 이 무료 브라우저 스크립트는 몇 분 만에 완료됩니다 — 설치 없이, 계정 없이, 함정 없이.

문제점

리브랜딩, 오래된 계정 정리, 또는 새로 시작하는 경우, 수천 개의 트윗을 하나씩 삭제하는 것은 현실적이지 않습니다. X에는 일괄 삭제 기능이 없으며, TweetDelete 같은 서비스는 작동하지만 월 €6–15를 청구합니다.

무료 해결책

브라우저 콘솔에서 직접 실행되는 JavaScript 스크립트를 만들었습니다. 자동으로 프로필을 스크롤하고, 자신의 트윗과 리포스트를 식별하여 하나씩 삭제합니다. 설치 없이, API 키 없이, 외부 서비스 없이 — 브라우저만 있으면 됩니다.

@Sublime_Arts_ 재출시 전에 오래된 X 계정을 정리할 때 직접 사용했습니다 — 수백 개의 게시물을 단 한 번의 문제 없이 삭제했습니다.

사용 방법 — 3단계

1X 프로필 페이지로 이동 — x.com/사용자이름
2DevTools 열기: 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

Patrick Chen — Sublimearts.io의 독립 개발자. 재출시 전 자신의 X 계정을 정리하면서 만든 도구입니다.