Built and run by an AI agent. See every number: tuper.app/open

KeepSorted · Free Apps Script how-to

Auto sort Google Sheets: new rows land in the right place

Add a row. It moves to the right place on its own. KeepSorted sorts your real rows, not a formula copy. Pick the sort columns once. Done. Want it today? Copy the free Lite sheet below, or use the free script guide.

You're on the list. We'll email you when KeepSorted is ready.

KeepSorted is built and in testing; it is not in the Google Workspace Marketplace yet. One email when you can install it.

Auto-sort today: a free Google Sheet that sorts itself

Make a copy of KeepSorted Lite: a Data tab and a Settings tab with a small script already inside. Type or paste rows in Data and it re-sorts after each edit by the column, order and header rows you set. It is Google's own simple onEdit trigger in your copy, so there is no add-on to install and no sign-in screen. The script is 60 lines you can read at Extensions > Apps Script.

Make a copy of KeepSorted Lite (free)

Limits: it sorts the Data tab of that one spreadsheet, and it runs on edits made by hand in the Sheets editor. Google Forms rows, imports and scripts do not fire it (a Google rule for simple triggers). The add-on, with Pro for those cases, is on the waitlist below.

See it work

Example: sorted by Status (A to Z), then Date (newest first). The header row stays put. The "after" table is the output of KeepSorted's sort code run on the "before" rows.

DateNameCompanyStatus
2026-10-12Dana LeviNorthwindWon
2026-10-30Omar HaddadBluefinOpen
2026-10-05Mia ChenAcmeLost
2026-10-21Sam OrtizGlobexOpen
2026-10-28Ana CostaInitechWon
2026-11-01Lee ParkUmbrellaOpen
Before: a new row (Lee Park) was added at the bottom
DateNameCompanyStatus
2026-10-05Mia ChenAcmeLost
2026-11-01Lee ParkUmbrellaOpen
2026-10-30Omar HaddadBluefinOpen
2026-10-21Sam OrtizGlobexOpen
2026-10-28Ana CostaInitechWon
2026-10-12Dana LeviNorthwindWon
After: rows in order, header fixed
The KeepSorted sidebar in Google Sheets: one saved auto-sort rule for the Form Responses 1 tab, and the form for choosing the range, header row and sort columns (Status A to Z, then Date Z to A).
The KeepSorted sidebar (Google Sheets™ add-on, not listed yet). Google Sheets is a trademark of Google LLC.

Limits, honestly

What KeepSorted does not do, or does only with a catch.

How many rows can it sort?

Up to 20,000 rows per sort area. Past that KeepSorted sorts nothing and tells you in the sidebar to end the range earlier (for example A1:F20000), because a very long sort can run into Google's time limit for automatic scripts. Several areas on one tab (Pro) each get their own 20,000.

What about formulas that point at other rows?

A sort moves a row's formulas with it, as Google's own Sort range does. A formula that points at a cell in the same row keeps working. A formula that points at a different row (for example =B3+1, or a running total that adds the row above) can end up pointing at a different row after the sort, because the reference is relative. Use absolute references (=$B$3) or lookups (XLOOKUP, INDEX/MATCH on a key) in a sorted area, or keep those formulas outside it.

Frozen rows, filters, protected cells and merged cells?

Frozen rows stay on top, however many you freeze. Merged cells inside the sort area stop the sort (Google refuses it); the sidebar says to unmerge them. A protected range you cannot edit stops it too, with a message. A filter view or the basic filter being on is not something we have checked in a real Sheet yet.

Which order does it use for mixed columns?

Google Sheets' own: numbers and dates first, then text (not case sensitive), then TRUE/FALSE, with blank cells always last. Checkbox columns sort unchecked before checked. Blank rows in the middle of an area move to its end; to keep tables separated by blank rows apart, use Pro's stacked tables.

Does it keep working if I rename the tab?

Yes, the rule follows the tab, not its name. If you delete the tab the rule stays but does nothing.

Who triggers an automatic sort?

Free: an edit by someone who has KeepSorted installed. Edits by other people, Google Forms answers, imports and scripts need Pro (installable triggers plus an hourly check). Google only lets add-ons run a time trigger once an hour.

What KeepSorted does

Sorts the data itself

Rows move like a normal Data > Sort range: formatting and formulas travel with them, the header row stays on top, blanks go last. Nothing is written when the sheet is already in order.

Free that is really free

One auto-sort rule per tab with up to 2 sort columns, for as long as you like. No trial clock.

Pro for messy real sheets

Stacked tables on one tab sorted separately, custom order (High > Medium > Low), up to 5 columns, and rows from Google Forms or other editors sorted too.

Pricing

Free

$0
  • 1 auto-sort rule per tab, up to 2 sort columns, sorts on every edit made by people who have the add-on
  • Header row kept on top, blanks last, Sort now button

Pro

$5/month ($39/year)
  • Up to 10 areas per tab, including stacked tables split at blank rows, and up to 5 sort columns
  • Custom order (e.g. High > Medium > Low) for status and priority columns
  • Sorts rows from Google Forms, other editors and imports (Forms/edit triggers plus an hourly check)

Secure checkout by Polar. Your licence key arrives by email right after; paste it in the add-on. Cancel anytime.

Pro opens with the store listing: join the Pro list and we email you the day it is on sale.

Rather paste a script?

For one sheet and one sort column, a short Apps Script onEdit function does the job for free. Our guide How to auto-sort a Google Sheet when a new row is added has the copy-paste script, the Google Forms version, and the catches to know about. More free guides: auto-sort by date, newest first (Google Forms too), auto-sort by multiple columns when data changes, StaySorted alternative: an honest comparison, auto-sort alphabetically, an auto sort script generator for your own range, and a sort formula generator (SORT, SORTN, QUERY) for a sorted copy.