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.
| Feature | IsBlank | IsEmpty |
|---|---|---|
| What it tests | One value: text, number, date, Boolean, record | A table: does it have any rows? |
| Syntax | IsBlank(Value) | IsEmpty(Table) |
| Empty collection (0 rows) | false (the table exists) | true |
After Clear(colIe) | false | true |
Empty text "" | true | Not meant for text |
[] (empty table) | Not meant for tables | true |
| Record LookUp didn’t find | true | Not meant for records |
| Same as | Value = 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.

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

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

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

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

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.

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.

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}
)

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

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.

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.

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).

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.

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
- Search your app for IsBlank( and look at what’s inside the brackets.
- If it’s a collection, a Filter(), a gallery’s AllItems or any other table, swap IsBlank for IsEmpty.
- If it’s a text box, a variable, a field or a LookUp() result, keep IsBlank.
- 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.

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.