How to Bulk Withdraw LinkedIn Invites (4 Methods, 2026)

Clear hundreds of pending LinkedIn connection requests in minutes. Four methods compared: manual, browser script, Chrome extensions, and automation tools.

Semir Jahic··11 min read
How to Bulk Withdraw LinkedIn Invites (4 Methods, 2026)

Nothing humbles you quite like discovering 500+ people ignored your LinkedIn connection requests.

I found this out the hard way. After months of founder-led outreach — prospects I thought would be interested, warm introductions that went cold, people I met at events — my sent invitations tab had become a graveyard of good intentions. I needed to bulk withdraw LinkedIn invites and start fresh.

The problem? LinkedIn makes this painfully difficult by design. There is no "select all" button. No bulk action. You click each invitation individually, confirm each withdrawal, and repeat hundreds of times. For 10 invites, that is annoying. For 500+, it is not happening.

This guide covers every method for clearing out stale LinkedIn invitations at scale: the manual approach, a browser console script, Chrome extensions, and third-party automation tools. I have tested each one and will tell you which is worth your time.

Why You Should Regularly Withdraw Pending LinkedIn Invitations

Clearing out old invitations is not just about tidiness. It directly affects your ability to send new ones.

LinkedIn caps connection requests at 100–200 per week (the exact number depends on your Social Selling Index, account age, and acceptance rate). Here is where it gets important: pending invitations that sit unanswered for weeks count against you. According to Linked Helper's research, if you accumulate too many pending requests, LinkedIn may tighten your weekly sending limit further.

In other words, those 500 ignored invites were not just cluttering my dashboard — they were actively hurting my ability to reach new prospects.

Benefits of regular cleanup:

  • Higher weekly invite capacity. Fewer pending requests means LinkedIn gives you more room to send new ones.
  • Better acceptance rate. Withdrawing old requests and re-targeting with personalized notes improves your overall connection rate.
  • Cleaner prospecting data. You know exactly who you have reached out to and who has not responded, which prevents duplicate outreach.
  • No risk of LinkedIn restrictions. Excessive pending invites can trigger LinkedIn's abuse detection, potentially limiting your account.

A good cadence is to withdraw unanswered invitations every 30–60 days. Anything older than a month is unlikely to be accepted.

See the product in action

Take a self-guided tour of the Salesmotion platform.

Watch demo

Method 1: LinkedIn's Built-In Approach (Manual)

LinkedIn does have a way to withdraw invites one at a time. This is fine for a handful of requests but impractical at scale.

Steps:

  1. Go to My Network in the top navigation
  2. Click Manage (or "Show All") on the invitations section
  3. Click the Sent tab to see all your pending outbound invitations
  4. For each invitation you want to withdraw, click the Withdraw button next to the person's name
  5. Confirm the withdrawal in the popup dialog

Direct URL: Navigate to linkedin.com/mynetwork/invitation-manager/sent/ to go straight to your sent invitations.

Verdict: Works for 5–10 invitations. Completely impractical for anything more. Each withdrawal requires two clicks plus a confirmation dialog, and there is no bulk select option.

Adam Wainwright
The moment we turned on Salesmotion, it became essential. No more hours on LinkedIn or Google to figure out who we're talking to. It's just there, served up to you, so it's always 'go time.'

Adam Wainwright

Head of Revenue, Cacheflow

Read case study →

Method 2: Browser Console Script (Free, No Extensions)

This is the approach I used to clear 500+ invitations in about 5 minutes. It works by automating the click-and-confirm process that you would normally do manually.

How it works: The script scrolls through your sent invitations, finds every "Withdraw" button, clicks it, waits for the confirmation dialog, confirms, and moves to the next one. It processes 100 invitations per batch and pauses between batches so you can monitor progress.

Step-by-Step Instructions

  1. Navigate to linkedin.com/mynetwork/invitation-manager/sent/
  2. Note the total number of pending invitations (prepare to be humbled)
  3. Right-click anywhere on the page and select Inspect (Chrome, Edge, Brave) or Inspect Element (Firefox, Safari)
  4. Click the Console tab in the developer tools panel
  5. Paste the script below into the console
  6. Press Enter and watch it run
  7. After each batch of 100, type continueWithdrawal() in the console and press Enter to process the next batch

The Script

(async function bulkWithdrawLinkedInInvitations() {
    console.log("Starting controlled bulk withdrawal of LinkedIn invitations...");
    console.log("Will process 100 invitations at a time, starting from bottom");

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

    const waitForUserConfirmation = () => {
        return new Promise(resolve => {
            console.log("\nPAUSED - Type continueWithdrawal() and press Enter to continue");

            window.continueWithdrawal = () => {
                console.log("Resuming...\n");
                delete window.continueWithdrawal;
                resolve();
            };
        });
    };

    let totalWithdrawn = 0;
    let batchNumber = 1;

    while (true) {
        console.log(`\nStarting Batch #${batchNumber}`);

        // Scroll to load all invitations
        for (let i = 0; i < 20; i++) {
            window.scrollTo(0, document.body.scrollHeight);
            await delay(1500);
        }

        let withdrawButtons = Array.from(
            document.querySelectorAll("button")
        ).filter(btn => btn.innerText.trim() === "Withdraw");

        if (withdrawButtons.length === 0) {
            console.log("No more invitations found. Complete!");
            break;
        }

        withdrawButtons.reverse();
        const batchButtons = withdrawButtons.slice(0, 100);

        console.log(`Found ${withdrawButtons.length} total invitations`);
        console.log(`Processing ${batchButtons.length} in this batch`);

        let batchWithdrawn = 0;

        for (const button of batchButtons) {
            try {
                button.scrollIntoView({ behavior: "smooth", block: "center" });
                await delay(800);
                button.click();
                await delay(1000);

                let confirmBtn = null;
                for (let i = 0; i < 10; i++) {
                    confirmBtn = Array.from(
                        document.querySelectorAll("button")
                    ).find(b =>
                        b.innerText.trim() === "Withdraw" &&
                        b.getAttribute("aria-label")?.includes("invitation sent")
                    );
                    if (confirmBtn) break;
                    await delay(500);
                }

                if (confirmBtn) {
                    confirmBtn.click();
                    batchWithdrawn++;
                    totalWithdrawn++;
                    console.log(
                        `Withdrawn (Batch: ${batchWithdrawn}/100 | Total: ${totalWithdrawn})`
                    );
                    await delay(2000);
                } else {
                    console.warn("Confirm button not found, skipping.");
                }
            } catch (err) {
                console.error("Error withdrawing invitation:", err);
            }
        }

        console.log(`\nBatch #${batchNumber} complete: ${batchWithdrawn} withdrawn`);
        console.log(`Total withdrawn so far: ${totalWithdrawn}`);

        await delay(2000);
        const remainingButtons = Array.from(
            document.querySelectorAll("button")
        ).filter(btn => btn.innerText.trim() === "Withdraw");

        if (remainingButtons.length === 0) {
            console.log("\nAll invitations processed!");
            break;
        }

        await waitForUserConfirmation();
        batchNumber++;
    }

    console.log(`\nCOMPLETE! Total invitations withdrawn: ${totalWithdrawn}`);
})();

Safety Notes

  • Always verify scripts before running them. Paste this code into Claude or ChatGPT and ask if it is safe before executing it in your browser console.
  • LinkedIn monitors for unusual activity. The script includes delays between actions to mimic human behavior, but proceed at your own discretion.
  • This script only automates clicks. It does not access the LinkedIn API, scrape data, or do anything you could not do manually. It just clicks buttons faster.

Verdict: Fast, free, no installation required. The best option for a one-time cleanup of hundreds of invitations. I cleared 500+ in about 5 minutes with no issues.

Method 3: Chrome Extensions

If you prefer a point-and-click interface over pasting code into a console, several Chrome extensions handle bulk withdrawal.

Superpowers for LinkedIn

A popular free extension that adds bulk action buttons to LinkedIn, including mass withdrawal of pending invitations. After installing, navigate to your sent invitations and you will see a new "Mass Withdraw" button.

  • Price: Free
  • Pros: Easy to use, no technical knowledge needed, includes other LinkedIn productivity features
  • Cons: Requires granting the extension access to your LinkedIn data

LinkedIn Bulk Invitation Withdrawal

A single-purpose extension specifically built for withdrawing pending invitations. It lets you filter by invitation age (1–12 months) so you can keep recent requests and only withdraw the old ones.

  • Price: Free
  • Pros: Age-based filtering, lightweight, does one thing well
  • Cons: Limited to withdrawal only (no other features)

3xFaster LinkedIn Invite Withdraw

A web-based tool that connects to your LinkedIn session and provides a dashboard for managing pending invitations with batch withdrawal capabilities.

  • Price: Free tier available
  • Pros: Web-based dashboard, no extension installation
  • Cons: Requires connecting your LinkedIn session

Verdict: Chrome extensions are the easiest option for non-technical users. Superpowers for LinkedIn is the most popular choice. Be aware that any extension that accesses your LinkedIn data requires a level of trust — review permissions carefully before installing.

See Salesmotion on a real account

Book a 15-minute demo and see how your team saves hours on account research.

Book a demo

Method 4: Third-Party Automation Tools

For teams running LinkedIn outreach at scale, dedicated automation platforms include invitation management as part of their broader feature set.

PhantomBuster

Offers a LinkedIn Auto Invitation Withdrawer "Phantom" that runs on their cloud servers. You configure it once and it automatically withdraws invitations older than a specified number of days.

  • Price: Starts at $69/month (includes other LinkedIn automation tools)
  • Best for: Sales teams already using PhantomBuster for LinkedIn prospecting and outbound automation

Linked Helper

A desktop application (not a Chrome extension) that includes bulk invitation withdrawal alongside connection request automation, messaging, and profile visiting.

  • Price: Starts at $15/month
  • Best for: Individual SDRs and recruiters who need a full LinkedIn automation suite

Evaboot

Primarily a LinkedIn Sales Navigator scraping tool, but their blog provides detailed guides on managing pending invitations and their impact on your account health.

  • Price: Starts at $49/month
  • Best for: Teams already using Sales Navigator for B2B prospecting

Verdict: Overkill if you just need to clean up invitations once. Worth considering if you run LinkedIn outreach at scale and need ongoing invitation lifecycle management as part of your sales prospecting workflow.

Comparing All Methods

MethodCostDifficultySpeedBest For
Manual (LinkedIn UI)FreeEasySlow (2 clicks per invite)Under 10 invitations
Browser console scriptFreeMedium (copy-paste)Fast (500+ in 5 min)One-time bulk cleanup
Chrome extensionsFreeEasy (install + click)FastNon-technical users
Third-party tools$15–$69/moEasyAutomatedOngoing management at scale

How to Prevent Invite Buildup

Cleaning up 500 invitations once is one thing. Not having to do it again is better. A few habits that keep your pending invitations under control:

  • Personalize every connection request. Personalized notes have 2–3x higher acceptance rates than blank requests. Mention a shared connection, recent company news, or a specific reason for connecting.
  • Set a monthly reminder to review and withdraw any pending invitations older than 30 days.
  • Prioritize warm connections. Use buying signals and trigger events to time your outreach when prospects are more likely to engage — a connection request sent after a relevant company event converts far better than a cold request.
  • Track your acceptance rate. If it drops below 30%, your targeting or messaging needs work.

Key Takeaways

  • LinkedIn limits connection requests to 100–200 per week, and excessive pending invitations can reduce this cap further. Regular cleanup protects your outreach capacity.
  • For a one-time bulk cleanup, the browser console script is the fastest free option — it clears hundreds of invitations in minutes with no installation required.
  • Chrome extensions like Superpowers for LinkedIn are the easiest option for non-technical users who prefer a visual interface.
  • Review and withdraw unanswered invitations every 30–60 days. Anything older than a month is almost certainly not going to be accepted.
  • Always verify any script or extension before giving it access to your LinkedIn account. Paste code into an AI assistant and review extension permissions carefully.

From Clean Inbox to Smarter Outreach

Clearing out those 500+ ignored invitations took me 5 minutes and gave me a clean slate. But the bigger lesson was this: the time I spent manually managing LinkedIn outreach — sending invitations, researching prospects, figuring out who to contact — was time I could have automated.

That is actually why we built Salesmotion. Instead of manually tracking which accounts are worth reaching out to, Salesmotion monitors your target accounts 24/7 and surfaces the ones showing real buying signals — new funding, leadership changes, hiring surges, technology adoption. Your reps know exactly which accounts to focus on and when to reach out, which means every LinkedIn connection request is intentional, well-timed, and far more likely to be accepted.

Frequently Asked Questions

Is it safe to run scripts in the LinkedIn browser console?

Running scripts in your browser console carries inherent risk, which is why you should always verify the code first by pasting it into an AI assistant like Claude or ChatGPT. The script in this guide only automates the click-and-confirm withdrawal process that you would otherwise do manually. It does not access the LinkedIn API or scrape any data. That said, LinkedIn monitors for unusual activity, so proceed at your own discretion.

Will withdrawing LinkedIn invites hurt my Social Selling Index or account standing?

No. Withdrawing pending invitations does not negatively impact your Social Selling Index (SSI) or account standing. In fact, cleaning up ignored requests can improve your connection acceptance rate over time, which is a healthier signal for your profile. LinkedIn penalizes excessive sending of invites, not withdrawing them.

How many LinkedIn connection requests can I send per week?

LinkedIn limits connection requests to approximately 100–200 per week, depending on your account age, Social Selling Index, and acceptance rate. The limit operates on a rolling 7-day window. If your acceptance rate drops too low or you accumulate too many pending invitations, LinkedIn may further restrict your sending capacity.

How often should I clean up my pending LinkedIn invitations?

Review and withdraw unanswered invitations every 30 to 60 days. Pending requests older than a month are unlikely to be accepted and are actively counting against your sending limits. Some sales teams set a calendar reminder for the first of every month to do a quick cleanup.

Can I selectively withdraw invitations instead of all of them?

Yes. The manual method lets you withdraw specific invitations one by one. Chrome extensions like LinkedIn Bulk Invitation Withdrawal offer age-based filtering so you can keep recent invitations and only withdraw those older than a specified timeframe. The console script withdraws all pending invitations, but you can stop it mid-batch if needed.

Do withdrawn LinkedIn invitations notify the other person?

No. When you withdraw a pending invitation, the other person is not notified. The connection request simply disappears from their pending invitations. You can send a new request to the same person later if you choose.


Ready to make every outreach count? Salesmotion surfaces real-time buying signals on your target accounts so your team connects with the right people at the right time — no more cold requests into the void. Book a demo to see it in action.

About the Author

Semir Jahic
Semir Jahic

CEO & Co-Founder at Salesmotion

Semir is the CEO and Co-Founder of Salesmotion, a B2B account intelligence platform that helps sales teams research accounts in minutes instead of hours. With deep experience in enterprise sales and revenue operations, he writes about sales intelligence, account-based selling, and the future of B2B go-to-market.

Follow on LinkedIn

Related articles

Ready to transform your account research?

See how Salesmotion helps sales teams save hours on every account.

Book a demo