You have a collection with three rows, and a label that needs them as one line of text. Power Apps Concat does it in one formula: Concat(colCc, Item, ", ") returned “Laptop dock, Monitor, Keyboard” in my test app.
In this tutorial, we’ll use power apps concat to convert a collection, a SharePoint column and combo box picks into a string, then split it back and try JSON() as the other way.
Here’s the shortest version. Put it in a label’s Text property:
Concat(colCc, Item, ", ")
It reads the Item column of every row in colCc and joins the values with a comma and a space. Nothing is added after the last value.
Build the Sample App Step by Step
Every example runs on one screen, scrConcat, in my Service Desk Demo canvas app. Most of them use a small collection, which is a table that lives in the app’s memory. Our Power Apps collection guide covers Collect and ClearCollect.
Two examples also read the SharePoint list Service Requests, which holds 623 help desk tickets with Title, Status and Priority columns.

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

Step 2: Select Create from blank. That gives you a canvas app, where you place every control yourself.

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

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

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

Step 6: Select New screen > Blank. To rename it, select the screen and click its name in the Properties pane.
Step 7: From Insert, add a button named btnCcFill and set its OnSelect to this. It fills colCc with three rows:
ClearCollect(colCc,
{Item: "Laptop dock", Qty: 2},
{Item: "Monitor", Qty: 1},
{Item: "Keyboard", Qty: 3}
)
Then add a few labels. To set a property, select the control, pick the property in the dropdown on the left of the fx formula bar, and type the formula.
Run the app with Play at the top right, or hold Alt and click the button in the editor. Press Ctrl+S to save.
Power Apps Concat Syntax
The function takes a table, a formula to run on each row, and an optional separator:
Concat(Table, Formula, Separator)
| Argument | Required? | What it does |
|---|---|---|
| Table | Yes | The collection, list or table to read, like colCc |
| Formula | Yes | What to take from each row: a column name or any text expression |
| Separator | No | Text placed between rows, never after the last one |
The result is always one text value. Think of it as Sum() for text.
How Do I Convert a Collection to a String in Power Apps?
Use Concat with the column you want and a separator. Same colCc collection, after I clicked Fill colCc. Select a label, pick Text in the property dropdown and type:
Concat(colCc, Item, ", ")

The label shows “Laptop dock, Monitor, Keyboard”. Concat walked the three rows in order and put “, ” only between them.
Want every column, not just one? JSON() turns the whole collection into a string. I cover it further down.
Separator Argument vs the Old Item & “, ” Way
Older posts and forum answers often add the comma inside the formula instead. Same collection, same label:
Concat(colCc, Item & ", ")

That returns “Laptop dock, Monitor, Keyboard,” with a trailing comma, because the comma is added to every row, including the last one.
Pro Tip: always pass the separator as the third argument. You don’t need the Left()/Len() tricks people used to strip that last comma.
Join Two Columns in One String
The Formula argument can be any text expression, so you can glue columns together with &. Same colCc, now with Qty:
Concat(colCc, Item & " x" & Qty, "; ")
That returns “Laptop dock x2; Monitor x1; Keyboard x3” (second row in the screenshots). Qty is a number, and & turns it into text for you.
Concat a SharePoint List Column
Concat works on a SharePoint list too. Here I joined the Title of the first three Service Requests items with the FirstN function and a pipe separator:
Concat(FirstN('Service Requests', 3), Title, " | ")

The label shows “Laptop replacement #1000 | Password reset #1005 | New hire setup #1002”. Studio showed no delegation warning icon on it.
Important: no warning isn’t a promise. On another screen of this same app, a Distinct() count over the 623 items silently used only the first 500 rows, with no icon. Read how delegation works in Power Apps before you Concat a whole big list.
Concat Combo Box Selected Items
A multi-select combo box gives you a table in SelectedItems, so Concat is the way to show or save the picks. My classic combo box cbCcPri uses Choices([@'Service Requests'].Priority) as Items, with High and Low picked:
Concat(cbCcPri.SelectedItems, Value, ", ")

That returns “High, Low”. Choice values live in a column called Value, which is why the formula reads Value. To add your own text to the picks, see concatenating a combo box value with a custom value.
Put Each Item on Its Own Line with Char(10)
Char(10) is the line feed character. Use it as the separator and every row lands on its own line. Same colCc:
Concat(colCc, Item & ": " & Qty, Char(10))

The label shows three lines: “Laptop dock: 2”, “Monitor: 1” and “Keyboard: 3”. Make the label tall enough, or turn on Auto height, so the last line isn’t cut off.
Convert a Collection to a JSON String
Concat gives you the columns you pick. JSON() gives you all of them, with column names, in a format a Power Automate flow or an API can read:
JSON(colCc)

It returned this, on one line with no spaces:
[{"Item":"Laptop dock","Qty":2},{"Item":"Monitor","Qty":1},{"Item":"Keyboard","Qty":3}]
My label showed the result directly in Studio. Microsoft’s docs describe JSON() as memory hungry and show it captured in a variable from a button’s OnSelect, so do that for big tables. To read JSON back, see parsing JSON in Power Apps.
Concat vs Concatenate in Power Apps
They sound alike but do different jobs. Concatenate() joins separate strings, just like the & operator. Our post on concatenating text strings in Power Apps goes deeper. Here I used both together:
Concatenate("Items: ", Concat(colCc, Item, ", "))
That returns “Items: Laptop dock, Monitor, Keyboard”. Concat built the list; Concatenate added the prefix.
| Concat() | Concatenate() | |
|---|---|---|
| Input | A table plus a formula per row | Separate strings (or one single-column table) |
| Separator | Optional third argument | None, you add it yourself |
| Result | One string | One string, or a table if you pass a table column |
| Use it for | Collections, lists, SelectedItems | Joining a few fields or literals |
Turn the String Back into a Table with Split
Split() reverses Concat when you used a separator. It returns a one-column table named Value. Our Power Apps Split function guide has more examples. With colCc filled:
CountRows(Split(Concat(colCc, Item, ","), ","))
That returns 3, one row per item. Use the same separator in both functions.
Now the gotcha. Before I clicked Fill colCc, the collection was empty, and the screen looked like this:
![power apps concat empty collection split one row Preview with an empty collection where Concat is blank, JSON is [] and Split still counts 1 row](https://www.spguides.com/wp-content/uploads/2026/10/power-apps-concat-empty-collection-split-one-row.avif)
The Concat labels were blank, Concatenate gave just “Items:”, JSON gave [], and the Split count was 1, not 0. Split of empty text still returns one blank row.
Pro Tip: check IsEmpty(colCc) before you split or loop over the result. Our post on creating an empty collection in Power Apps shows how an empty collection behaves.
For more formulas like these, browse the Power Apps tutorials hub.
A few more Power Apps tutorials worth reading next:
Frequently Asked Questions
How do I convert a collection to a string in Power Apps?
Use Concat(CollectionName, ColumnName, “, “). It reads the column from every row and joins the values with the separator. For every column with names, use JSON(CollectionName) instead.
What is the difference between Concat and Concatenate in Power Apps?
Concat works on a table and runs a formula for each row, with an optional separator. Concatenate joins separate strings, the same as the & operator.
Why does my Concat result end with a comma?
You added the comma inside the formula, like Item & “, “. That adds it to every row, including the last. Pass the separator as the third argument instead: Concat(colCc, Item, “, “).
How do I show each item on a new line in a label?
Use Char(10) as the separator, for example Concat(colCc, Item, Char(10)), and make the label tall enough or set Auto height.
Can I reverse Concat in Power Apps?
Yes, with Split(text, separator) and the same separator. It returns a single-column table named Value, as the Concat and Concatenate reference shows. An empty string still returns one row.

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.