Instagram Distraction Free

Remove Sponsored and Suggested posts from Instagram

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey, Greasemonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey to install this script.

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

Advertisement:

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Advertisement:

ผู้เขียน
Vojtěch Hájíček (Hajda)
จำนวนติดตั้งประจำวัน
2
จำนวนติดตั้งทั้งหมด
85
คะแนน
0 1 0
เวอร์ชัน
1.2
สร้างเมื่อ
12-01-2026
อัปเดตเมื่อ
12-01-2026
Size
19.7 กิโลไบต์
สัญญาอนุญาต
MIT
ปรับใช้กับ

Instagram Distraction Free

Instagram Distraction Free - Remove suggested and sponsored posts, reels and explore tabs.

Installation

  1. Install the Tampermonkey browser extension:

  2. Install the userscript:

    • Create a new script in Tampermonkey.
    • Copy the contents of instagram_distraction_free.user.js into the editor.
    • Save the script (Ctrl+S or File > Save).

Usage

Once installed, the script runs automatically when you visit Instagram.com.

You can configure the behavior by clicking the "IG Clean" button located in the bottom-right corner of the screen.

Configuration Options

  • Remove Sponsored Posts: Prevents ads from loading in your feed.
  • Blur Sponsored Posts: visually blurs ads if they slip through the data filter (useful for initial page loads).
  • Remove Suggested Posts: Prevents "Suggested for you" and "Suggested users" cards from loading.
  • Blur Suggested Posts: Visually blurs suggested content if it slips through.
  • Default to "Following" Feed: Automatically redirects you to the "Following" feed when you visit the home page, ensuring you only see posts from people you follow.
  • Disable Explore Page: Redirects /explore/ URLs to the home page and hides the Explore link in the sidebar.
  • Disable Reels Page: Redirects /reels/ URLs to the home page and hides the Reels link in the sidebar.

Technical Details: JSON Post Filtering

This script employs a direct data-interception method to remove unwanted content at the source, rather than just hiding it visually.

Method

The script hooks into the browser's native JSON.parse function and the Response.prototype.json method. This allows it to inspect and modify data payloads exchanged between the Instagram Single Page Application (SPA) and its backend servers.

  1. Interception: When Instagram requests feed data (via GraphQL API calls), the response is intercepted before it reaches the application logic.
  2. Recursive Scanning: The script traverses the JSON object to locate feed timelines. It looks for standard structures such as xdt_api__v1__feed__timeline__connection and edges.
  3. Filtering:
    • The script iterates through the edges (posts).
    • It inspects each item's node properties to identify its type.
    • Sponsored Posts are identified by the presence of a node.ad object or specific media flags (is_sponsored).
    • Suggested Content is identified by node.suggested_users (user cards) or node.explore_story (suggested posts from unconnected accounts).
  4. Modification: Matching items are removed from the array. The cleaned data object is then passed back to the application.
  5. Result: The application renders the feed using the sanitized data, unaware that ads or suggestions ever existed.

This approach prevents the "pop-in" effect often seen with CSS-only blockers and saves time/resources by not rendering unwanted media. A CSS blur fallback is included to handle pre-rendered content on the initial page load that might bypass the data filter.