Filter non-technical content from your LinkedIn feed using editable keyword lists.
Basuki Nath
- Block or blur posts by keywords
- Strict mode to only keep technical posts
- Popup and Options pages to edit lists
- MutationObserver for infinite scroll
- Prepare the folder
- Ensure this repository is on your machine and you know the path to the
linkedin-feed-filter/folder. - Optional: replace the icon PNGs in
icons/with your own.
- Load in Chrome
- Open Chrome and go to
chrome://extensions/. - Turn on "Developer mode" (top-right).
- Click "Load unpacked" and select the
linkedin-feed-filter/folder. - You should see "LinkedIn Feed Filter" appear in the list; pin it to your toolbar if you like.
- Configure and use
- Click the extension icon to open the popup.
- Toggle "Enable filtering" to turn filtering on/off.
- Choose Filter mode: Remove or Blur.
- Optionally enable "Only allow technical posts" (strict mode).
- Edit the blocked/technical keyword lists and click Save.
- Open LinkedIn (
https://www.linkedin.com/feed/) and scroll; the content script will filter as the feed loads.
- Options page
- Right-click the extension icon → Options, or visit
chrome://extensions/→ Details → Extension options to open the full settings page with more room.
- Update/Reload
- If you modify files in this folder, go back to
chrome://extensions/and click the "Reload" button on the extension to apply changes.
- When disabled, the badge shows "OFF" and the extension stops filtering; previously hidden/blurred posts are restored.
- When enabled, the badge is cleared and filtering resumes automatically on the LinkedIn feed.
- Extension won’t load: ensure icons are valid PNGs or remove icon entries from
manifest.jsonif using placeholders. - Nothing is being filtered: LinkedIn may have changed DOM selectors. Update the selectors in
content.js(see comments nearscanFeedAndFilter). - Changes don’t apply: visit
chrome://extensions/and click Reload on the extension after editing files. - Storage issues: the extension uses
chrome.storage.sync; verify Chrome profile sync is enabled if you expect settings to roam.
- LinkedIn DOM is dynamic and class names change. Adjust selectors in
content.jsif the filter stops working. - User data is stored in
chrome.storage.sync.
Icons by Irfansusanto20 on Flaticon: https://www.flaticon.com/authors/irfansusanto20