Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Power Apps IsBlank vs IsEmpty: Check an Empty Collection, Record or Text the Right Way

If you’ve tried IsBlank() on an empty collection, you’ve probably seen it return false even though the collection has no rows. Nothing is broken: IsBlank looks for a missing value, and a table with zero rows still exists, so it’s empty but not blank.

In this tutorial, we’ll settle power apps isblank vs isempty with one test screen: an empty collection, the same collection after Fill and Clear(), a record that LookUp can’t find, empty text and a SharePoint filter that matches nothing.

Here’s my rule after running all of it: use IsEmpty for anything that holds rows (a collection, a Filter result, a gallery’s items) and use IsBlank for one value (a text box, a variable, a field or a single record).

IsBlank vs IsEmpty at a Glance

Both functions return true or false, so they look interchangeable in an If(). They aren’t. If you’re new to tables in Power Apps, our guide to creating a Power Apps collection covers the basics first.

FeatureIsBlankIsEmpty
What it testsOne value: text, number, date, Boolean, recordA table: does it have any rows?
SyntaxIsBlank(Value)IsEmpty(Table)
Empty collection (0 rows)false (the table exists)true
After Clear(colIe)falsetrue
Empty text ""trueNot meant for text
[] (empty table)Not meant for tablestrue
Record LookUp didn’t findtrueNot meant for records
Same asValue = Blank() or ""CountRows(Table) = 0

Every “true” and “false” in that table comes from the test screen below, not from memory.

Build the Demo App Step by Step

All the tests run in one canvas app connected to a SharePoint list called Service Requests. It holds 623 help desk tickets with a Title, Status, Priority and Requester. Our guide to creating a canvas app from a SharePoint list goes deeper if you’ve never connected one.

Service Requests SharePoint list with Title, Status and Priority columns used by the demo app

Step 1: Start a new app. Go to make.powerapps.com and select Start with design on the Home page.

Power Apps maker portal Home page with the Start with design option

Step 2: Create a blank canvas app. Select Create from blank. A canvas app is one where you place every control yourself.

Create from blank option for a new Power Apps canvas app

Step 3: Pick the Tablet layout. Choose Tablet and select Create. Power Apps Studio, the app editor, opens.

Start with a blank canvas dialog with the Tablet layout selected

Step 4: Add the data. Select Add data, search for SharePoint and pick the SharePoint connector. Paste your site URL and select Connect.

Add data pane in Power Apps Studio with the SharePoint connector selected

Step 5: Choose the list. Check Service Requests and select Connect. The list is now a data source, which is simply a place the app reads records from.

Choose a list dialog in Power Apps with the Service Requests list checked

Step 6: Add the test screen. Select New screen > Blank. To rename it, select the screen and click its name in the Properties pane. I called it scrIsEmpty.

Step 7: Insert the controls. From the Insert menu, add four buttons (Fill, Clear, Record: ID 2, Record: ID 99999) and a column of text labels. Each label shows one test result.

To set a property, select the control, pick the property in the dropdown on the left of the fx formula bar, then type the formula. Run the app with Play at the top right, or hold Alt and click a button. Press Ctrl+S to save.

Why IsBlank Says an Empty Collection Isn’t Blank

A collection is a table the app keeps in memory. Our collection is colIe, and it starts with no rows, because no button has run yet. Here are the four labels’ Text formulas, one per label:

IsEmpty(colIe)
IsBlank(colIe)
CountRows(colIe) = 0
IsBlank(First(colIe))

Before any click, IsEmpty(colIe) shows true and IsBlank(colIe) shows false. CountRows(colIe) = 0 is true, and IsBlank(First(colIe)) is true.

Power Apps Studio with the Text property set to IsBlank of an empty collection showing false

The collection exists in the app because a ClearCollect formula mentions it, so it has columns but no rows. IsBlank only checks whether a value is missing, and the table itself isn’t missing.

Important: If(IsBlank(colIe), ...) never fires for an empty collection. That one line is behind most “my empty message never shows” bugs, the same problem you’ll hit when you show a message if a gallery is empty.

How to Check if a Collection Is Empty in Power Apps

Same colIe collection, now with two rows. Select the Fill button, pick OnSelect and add this:

ClearCollect(colIe,
    {Item: "Laptop dock", Qty: 2},
    {Item: "Monitor", Qty: 1}
)
OnSelect of the Fill button with a ClearCollect formula that adds two rows to colIe

In Preview, I clicked Fill. All four labels flipped to false: IsEmpty, IsBlank, CountRows = 0 and IsBlank(First()).

Power Apps Preview after Fill with IsEmpty, IsBlank and CountRows checks all showing false

So you have three working ways to check whether a collection is empty:

  • IsEmpty(colIe) – the clearest one, and the one I use.
  • CountRows(colIe) = 0 – the same result. Microsoft calls IsEmpty its equivalent, and our Power Apps CountRows function guide covers counting itself.
  • IsBlank(First(colIe)) – true when there’s no first row. It works, but it reads like a trick. See how to get the first item in a collection for what First() returns.

The only one that fails is IsBlank(colIe), which stayed false in both states.

Does Clear() Make a Collection Blank or Empty?

Same two-row collection, now cleared. The Clear button runs one function:

Clear(colIe)

After the click, IsEmpty(colIe) went back to true, CountRows = 0 was true and IsBlank(First(colIe)) was true. IsBlank(colIe) still said false.

Power Apps Preview after Clear with IsEmpty true and IsBlank still false for the collection

Clear() removes the rows but keeps the table and its columns. So a cleared collection is empty, not blank. That’s handy when you create an empty collection in Power Apps on purpose, because the columns are still there for a gallery or a later Collect().

How to Check if a Record Is Empty in Power Apps

Records flip the rule. A record is one row, so it’s a single value, and you test it with IsBlank. The Record: ID 2 button stores ticket 2 in a variable:

Set(varIeRec, LookUp('Service Requests', ID = 2))

Two labels read the variable. The second uses Coalesce(), which shows the first value that isn’t blank:

IsBlank(varIeRec)
Coalesce(varIeRec.Title, "(blank)")

With ID 2, IsBlank(varIeRec) shows false and the title is Password reset #1005.

Power Apps Preview with the ID 2 record loaded, IsBlank false and the Password reset title

Now the same requests list, but an ID that doesn’t exist. The Record: ID 99999 button runs this:

Set(varIeRec, LookUp('Service Requests', ID = 99999))

LookUp found nothing, so IsBlank(varIeRec) is true and the title label falls back to (blank).

Power Apps Preview after LookUp of ID 99999 with IsBlank true and a blank title

When LookUp has no match, it returns blank, not an empty record. That’s why IsBlank is the right test here. Our Filter vs Search vs LookUp guide explains why LookUp returns a record while Filter returns a table.

Empty Text vs an Empty Table

The last two labels test the smallest cases on the same screen:

IsBlank("")
IsEmpty([])

Both show true, as you can see at the bottom of every screenshot above. IsBlank treats an empty string as blank, and [] is a table with no rows, so IsEmpty calls it empty.

That’s why IsBlank works on a text input’s Text property: a cleared box returns “”, and IsBlank counts it. For form checks built on this, see our Power Apps validation examples. If you need to tell real blank from “”, Microsoft suggests Value = Blank() instead.

IsEmpty on a SharePoint Filter Result

Filter() returns a table, so it’s IsEmpty territory. Same Service Requests list, two labels:

IsEmpty(Filter('Service Requests', Status.Value = "Closed"))
IsEmpty(Filter('Service Requests', Status.Value = "Open"))

Closed returned false, because closed tickets exist. Open returned true, because the list has no Open status at all. Its statuses are New, In Progress and Closed.

IsEmpty of a SharePoint Filter on Status Open showing true in Power Apps Studio

This is a quick way to check whether a data table is empty before you show it. In my test, Studio showed no delegation warning icon on these two labels. Delegation means Power Apps asks SharePoint to do the filtering, and our Power Apps delegation guide covers the limits.

Note: a typo in a choice value, like “Open” here, doesn’t throw an error. IsEmpty just says true, so check the real choices first.

How to Replace IsBlank With IsEmpty in Existing Formulas

  1. Search your app for IsBlank( and look at what’s inside the brackets.
  2. If it’s a collection, a Filter(), a gallery’s AllItems or any other table, swap IsBlank for IsEmpty.
  3. If it’s a text box, a variable, a field or a LookUp() result, keep IsBlank.
  4. Run the app empty and full once to confirm both branches of the If().

Here’s a typical fix. The first line never shows “No items yet”; the second does:

If(IsBlank(colIe), "No items yet", "Ready")
If(IsEmpty(colIe), "No items yet", "Ready")

When to Use IsBlank Instead of IsEmpty

  • A text input, date picker or dropdown selection: use IsBlank.
  • A variable or a single record from LookUp(): use IsBlank.
  • A collection, a Filter() result or a gallery’s items: use IsEmpty.
  • You need the number of rows anyway: use CountRows() = 0, or see how to check if a dropdown is empty for choice controls.
  • You need a fallback value instead of true or false: use Coalesce(). The Power Apps tutorials hub has more patterns like this.

So the deciding difference is simple: IsBlank asks “is this one value missing?” and IsEmpty asks “does this table have rows?” A cleared collection and a LookUp with no match are the two cases that catch people, and they go opposite ways.

A few more Power Apps tutorials that pair well with this one:

Frequently Asked Questions

How do I check if a collection is empty in Power Apps?

Use IsEmpty(YourCollection), which returns true when the collection has no rows. CountRows(YourCollection) = 0 gives the same result. Don’t use IsBlank: a collection with no rows still returns false.

How do I check if a record is empty in Power Apps?

Use IsBlank on the record, for example IsBlank(LookUp(‘Service Requests’, ID = 99999)). LookUp returns blank when nothing matches, so IsBlank returns true.

Why does IsBlank return false for my empty collection?

Because the collection exists. It has columns but no rows, so it’s empty, not blank. Clear() leaves it in that same state.

Does IsBlank treat an empty string as blank?

Yes. IsBlank(“”) returns true, which is why it works for a cleared text input. To test only for a true blank value, compare with Blank().

Can I use IsEmpty on a SharePoint list?

Yes, on a table such as Filter(‘Service Requests’, Status.Value = “Closed”). It returns true when no item matches. See the Blank, Coalesce, IsBlank and IsEmpty reference.