v0.1.0 · Free · MIT licence · Chrome on desktop
Sort any Instagram or TikTok profile by views
Profile grids run in posting order and hide most of the numbers. Open Feed Sorter reads the counts the page already loaded and lays the grid out again best-first, with each post's numbers and outlier score on its tile. Re-sort it, or export it to CSV, Excel or JSON.
Free on the Chrome Web Store, for Chrome on desktop.
How it works
-
Open a profile
Any Instagram or TikTok profile you can see, yours or anyone's. On Instagram, the Posts or the Reels tab.
-
Pick a sort
Click the extension's icon and choose what to sort by and how much to collect: the latest 25 posts up to the whole feed, or a date range. Then press Sort this profile.
-
Let it collect
The tab reloads, then scrolls itself while it reads the feed (why it reloads). Press Stop at any point and keep what it has. When it finishes, the grid comes back best-first with a toolbar above it for re-sorting and export, and Show original feed puts everything back.
What 3.4x means
Every tile carries an outlier score, whatever you sorted by. 3.4x means the post got 3.4 times this account's recent median. Scores of 2x and above are drawn inverted, so they stand out in the grid.
- Counted: the 25 most recent posts older than three days.
- Left out: the pinned post, and the two under three days old.
- The median of the 25 counted posts: 12.4K views.
- 3.4x 41.9K views ÷ 12.4K = 3.4 times the median.
How the median is taken
- It comes from the account's 25 most recent posts that are more than three days old.
- Pinned posts are left out. Both platforms float them to the top whatever their age, and they're usually an account's best work.
- Posts under three days old are left out too. They're still picking up views and would drag the median down.
- A median ignores how big the biggest posts are, so one viral post can't lift the baseline and hide every other outlier.
- With fewer than 20 qualifying posts there is no score, and the toolbar says so. A short run, such as the latest 25, reads up to 48 older posts in the background to find enough. Those never join the grid.
- Scores are measured in views. An Instagram Posts grid is scored on likes, because photos have no view count.
- Each post is measured against its own account's median. Reach on both platforms now comes mostly from recommendations, so a score based on follower count would make a small account with one recommended video look like a permanent outlier.
What you get
- Sort by
-
Most views, likes, comments, shares or saves, newest or oldest first, or biggest outliers. Instagram reports views, likes and comments; TikTok adds shares and saves.
- Views
- Likes
- Comments
- Shares
- Saves
- How much
- The latest 25, 50, 100, 250 or 500 posts, or everything. Or a date range: the last week, month, 3 months, 6 months, year, or all time.
- On every tile
- The rank, the outlier score and every count the platform reports, all at once. Instagram itself shows likes and comments only on hover, one post at a time.
- Re-sort
- Everything collected stays in the tab's memory, so switching from views to comments redraws the grid straight away without collecting again.
- Export
-
CSV, Excel (.xlsx) or JSON, built inside the tab and saved as an ordinary download. One row per post, with a column for each count the posts have:
Profile,URL,Date,Views,Likes,Comments,Shares,Saves,Outlier,Caption - Stop
- Stop keeps whatever has been collected so far and sorts it. Nothing is thrown away.
Privacy
The extension makes no network requests of its own.
It reads the feed responses Instagram or TikTok already sent to your tab and does all of its work in that tab, exports included. There is no server for anything to go to. During a sort, the only requests are the site's own, as it loads the next page of posts when the page scrolls.
What Chrome asks for
"host_permissions": [
"https://www.instagram.com/*",
"https://www.tiktok.com/*"
]
That's the whole list, with no API permissions at all. Chrome's install prompt asks for one thing: “Read and change your data on www.instagram.com and www.tiktok.com”.
Checked on every build
const ALLOWED_HOSTS = [
"www.instagram.com",
"www.tiktok.com",
];
CI fails if any of the extension's scripts refers to another host, or if a permission appears that the check doesn't expect. The check is scripts/verify-dist.mjs.
Read the privacy policy for exactly what is read, what is kept and for how long. This page is plain HTML on GitHub Pages; it runs no scripts and loads nothing from anywhere else.
Why it's free
Nothing is kept back for a paid tier. Collecting the latest 500 posts costs no more to compute than the latest 25, and the computing happens in your own browser, so there's no server bill to pass on.
The code is MIT-licensed and on GitHub, so you can check anything this page says against it.
If it saves you time, a coffee on Ko-fi is welcome and entirely optional. It pays for nothing extra: there's no supporter build and no early access.
Compared with Sort Feed
Sort Feed is a paid Chrome extension for the same job, and it does more than this one: YouTube and Facebook Reels, transcription, downloads and export to Google Sheets. Its columns come from sortfeed.com as of September 2026; other extensions share the name, and this is that one. Its prices may have changed since.
| Sort Feed Free | Sort Feed Pro | Open Feed Sorter | |
|---|---|---|---|
| Price | $0 | $9 a month billed yearly, or $14 month to month | Free |
| How many posts | Latest 25 posts or 1 week | Any number, any date range | Latest 25 up to the whole feed, or a range from the last week to all time |
| Sites | Instagram, TikTok, YouTube, Facebook Reels | Instagram, TikTok, YouTube, Facebook Reels | Instagram and TikTok |
| Export | Sorted data | Sorted data plus transcripts | CSV, Excel and JSON |
| Transcription | None | 500 minutes a month | None |
| Media download | Unlimited | Unlimited | None |
The table scrolls sideways.
Questions
Is this against Instagram's or TikTok's terms?
Probably. Automating a site is generally against both platforms' terms of service, whoever does it, and this extension automates scrolling.
It reads what the platform already sent to your browser, at the pace of a person scrolling, with a randomised pause between pages. It doesn't forge requests or use any login except the one you're already signed in with. A long run still pages through a lot of a feed, though. Use your own judgement about your own account, and prefer the smallest run that answers your question.
Why does the tab reload?
Both sites fetch a profile's first page of posts once, as the page loads. By the time you've opened the popup that response has come and gone, so the extension reloads the tab to be there for it.
Your settings cross the reload in the tab's session storage and are deleted as soon as they're read, so refreshing by hand never restarts a sort. After that the extension scrolls, the site loads more posts by itself, and each page is read as it arrives. The architecture notes go into detail.
Will it break?
Sooner or later, yes. It's version 0.1, and Instagram and TikTok change their feed responses without notice. When that happens a sort usually hangs on Scrolling the feed to collect posts…, and the fix tends to be a few lines in one adapter file.
If you run into it, please open an issue. The contributing guide shows how to find what moved, if you'd like to send the fix.
Does it work in Firefox, Safari, or on a phone?
Not for now. It's built and tested for Chrome on desktop only. Phone browsers don't run Chrome extensions.
What data leaves my browser?
None, from the extension. It makes no network requests of its own, and exports are built in the tab and saved as an ordinary download.
During a sort, Instagram or TikTok see what they'd see if you scrolled the profile yourself: the site's own requests for the next page of posts, made with your session. What the extension collects stays in that tab's memory and is gone when you close or reload it. The privacy policy lists every field it reads.
Do I need an account?
No, there's nothing to sign up for. It works with whichever Instagram or TikTok session is already open in the tab, and never touches your login details.
Can it transcribe videos or export to Google Sheets?
No. Transcription needs paid speech recognition and a Sheets export needs an OAuth client. Both mean running a server, and this project doesn't have one. Everything it does happens in the tab.
Try it on a profile you know
Start with the latest 25 posts of an account whose numbers you already have a feel for, and see whether the order matches your guess.