Have you ever written a Power Apps formula that looked like a jumbled mess of ampersands (&) and quotation marks? Something like "Hello " & TextInput1.Text & ", your order total is $" & Text(varTotal, "0.00") & " and will be delivered on " & Text(varDate, "mm/dd/yyyy")?
Yeah, I’ve been there too. It works, but it’s hard to read and even harder to debug when something goes wrong.
String interpolation is the elegant solution to this problem. It lets you embed variables and expressions directly inside text without all those concatenation operators. The result? Cleaner formulas that are easier to write, read, and maintain.
In this tutorial, I’ll walk you through everything you need to know about string interpolation in Power Apps, with plenty of practical examples you can use right away.
What Exactly Is String Interpolation in Power Apps?
String interpolation is a fancy term for a simple concept: putting variable values directly inside text strings.
Instead of breaking your text into pieces and gluing them together with the & operator, you write the entire text as one piece and insert placeholders where you want dynamic values to appear.
In Power Apps, you use dollar sign notation with curly braces: $"Your text {YourVariable} more text"
The dollar sign before the opening quote tells Power Apps “hey, this string contains expressions you need to evaluate.” Anything inside the curly braces gets calculated and inserted into the final text.
Why Should You Use Power Apps String Interpolation?
Before we dive into the how-to, let me give you three solid reasons why this matters:
It makes your formulas cleaner. Compare these two approaches:
Old way:
"Welcome " & User().FullName & "! You have " & CountRows(MyCollection) & " items."
New way: $"Welcome {User().FullName}! You have {CountRows(MyCollection)} items."
The second one is just easier on the eyes.
It reduces errors. When you’re juggling multiple ampersands and quote marks, it’s easy to miss one or put it in the wrong spot. String interpolation cuts down on those syntax mistakes.
It saves time during debugging. When you come back to your app three months later (or when someone else opens it), clean formulas are much faster to understand and modify.
Basic String Interpolation Syntax
Let’s start with the fundamentals. The basic pattern looks like this:
$"Static text {DynamicExpression} more static text"
Here’s a simple example:
$"Hello {TextInput1.Text}!"

This takes whatever the user typed in TextInput1 and inserts it into your greeting.
A few key rules to remember:
- Always start with the dollar sign ($) immediately before the opening quotation mark
- No space between $ and the opening quote
- Put expressions inside curly braces { }
- Everything outside the braces is treated as literal text
Check out Get Collection Column Names in Power Apps
Power Apps String Interpolation with Variables
Variables are probably where you’ll use string interpolation most often.
Let’s say you’re building an order confirmation screen in a Power Apps canvas app. You’ve set these variables:
Set(varCustomerName, "Sarah Johnson");
Set(varOrderNumber, 12345);
Set(varOrderTotal, 156.75);

Here’s how you’d create a confirmation message:
$"Thank you, {varCustomerName}! Your order #{varOrderNumber} for ${varOrderTotal} has been confirmed."
Result: “Thank you, Sarah Johnson! Your order #12345 for $156.75 has been confirmed.”

Notice how you can mix different data types (text and numbers) without doing any special conversions. Power Apps handles that automatically in most cases.
Check out Save Multiple Users From a Power Apps Combo Box to a SharePoint Person Field
Formatting Numbers Inside String Interpolation in Power Apps
Here’s where things get interesting. You can format numbers directly inside the curly braces using the Text() function.
Let’s improve that order total from before:
$"Your order total is ${Text(varOrderTotal, "0.00")}"

This ensures you always get two decimal places, even if the value is a whole number.
Some useful number formats:
Text(varNumber, "0")– whole numbers, no decimalsText(varNumber, "0.00")– always two decimal placesText(varNumber, "#,##0")– thousands separatorText(varNumber, "#,##0.00")– thousands separator with decimalsText(varNumber, "0%")– percentage format
Example with percentage:
$"Your progress: {Text(varProgress, "0%")} complete"
Formatting Dates in String Interpolation in Power Apps
Dates work the same way as numbers. Use the Text() function with a date format inside your interpolation in Power Apps.
Let’s say you have a date variable:
Set(varDeliveryDate, DateValue("12/25/2026"))
You can format it like this:
$"Your order will arrive by {Text(varDeliveryDate, "mmmm dd, yyyy")}"
Result: “Your order will arrive by December 25, 2026.”

Common date formats:
"mm/dd/yyyy"– 12/25/2026"dd/mm/yyyy"– 25/12/2026"mmmm dd, yyyy"– December 25, 2026"mmm d, yy"– Dec 25, 26"dddd, mmmm dd"– Thursday, December 26
You can also include time:
$"Meeting scheduled for {Text(varMeetingTime, "mm/dd/yyyy hh:mm AM/PM")}"
Check out Set No Selected Item in a Power Apps Gallery
Using Expressions and Functions
You’re not limited to simple variables. Any valid Power Apps expression works inside the curly braces.
Example with calculations:
$"Subtotal: ${varSubtotal}, Tax: ${varSubtotal * 0.08}, Total: ${varSubtotal * 1.08}"

Example with functions:
$"Welcome back! You last logged in {DateDiff(varLastLogin, Today(), Days)} days ago."
Example with conditional logic:
$"Status: {If(varScore >= 70, "Passed", "Failed")}"
Example with collection functions:
$"You have {CountRows(Filter(TasksCollection, Status = "Pending"))} pending tasks."
The key is that whatever’s inside the braces must return a value that can be converted to text.
Read Create a SharePoint Site Using Power Apps & Power Automate
String Interpolation with Multiple Lines
Sometimes you need to create multi-line text in Power Apps. Use the Char(10) function to insert line breaks:
$"Order Summary:
Customer: {varCustomerName}{Char(10)}
Order #: {varOrderNumber}{Char(10)}
Total: ${Text(varOrderTotal, "0.00")}"

This creates a nicely formatted, multi-line display.
Combining String Interpolation with Label Text Properties
One of the most common uses is setting Label controls to display dynamic information.
Set your Label’s Text property to:
$"Hi {User().FullName}, you have {CountRows(Filter(EmailsCollection, Read = false))} unread messages."
This updates automatically whenever the underlying data changes.
String Interpolation in Concatenate Scenarios
You can even nest string interpolation inside longer expressions if you need to:
Set(varGreeting, $"Hello {User().FullName}");
Set(varFullMessage, varGreeting & "! " & $"Your balance is ${varBalance}")
Though at that point, you might just want to use one interpolated string for everything.
Common Mistakes to Avoid
Forgetting the dollar sign. This is the most common error. Without the $, Power Apps treats your text literally and won’t evaluate the expressions.
Wrong: "Total: {varTotal}"
Right: $"Total: {varTotal}"
Mismatched curly braces. Make sure every opening { has a closing }.
Trying to interpolate complex objects. You can’t directly interpolate records or tables. Extract the specific field you need first.
Wrong: $"Name: {MyRecord}"
Right: $"Name: {MyRecord.CustomerName}"
Quote marks inside interpolated strings. If you need actual quote marks in your text, use double quotes or the Char(34) function.
Check out Save Power Apps Form Attachments to SharePoint List Using Power Automate
Practical Real-World Examples
Email notification text:
$"Dear {ThisItem.CustomerName}, your appointment on {Text(ThisItem.AppointmentDate, "mmmm dd")} at {Text(ThisItem.AppointmentTime, "hh:mm AM/PM")} has been confirmed."
Dashboard summary:
$"Sales Dashboard - {Text(Today(), "mmmm yyyy")}: Total Revenue ${Text(Sum(SalesCollection, Amount), "#,##0.00")} from {CountRows(SalesCollection)} transactions."
Form validation message:
$"Error: {varFieldName} must be between {varMinValue} and {varMaxValue}."
Gallery item subtitle:
$"{ThisItem.ProductName} - ${Text(ThisItem.Price, "0.00")} - {ThisItem.QuantityInStock} in stock"
When NOT to Use String Interpolation
String interpolation is great, but it’s not always necessary.
If you’re just displaying a simple variable with no surrounding text, you don’t need it:
Unnecessary: $"{varMessage}"
Better: varMessage
Also, string interpolation only works with text output. You can’t use it to build formulas or property names dynamically.
Performance Considerations
String interpolation in Power Apps doesn’t really impact performance in typical scenarios. Power Apps evaluates it the same way it would evaluate concatenated strings.
However, if you’re building very long strings inside a gallery with hundreds of items, any text operation (interpolation or concatenation) can add up. In those cases, consider calculating the text once and storing it in your data source or a collection.
Wrapping Up
String interpolation in Power Apps is one of those features that seems small but makes a real difference in your day-to-day app building.
Start using $"{YourVariable}" instead of " " & YourVariable & " " and you’ll immediately notice how much cleaner your formulas look. Your future self (and anyone else who works on your apps) will thank you.
The syntax is straightforward: dollar sign, quotes, curly braces around your expressions. Combine it with Text() for formatting numbers and dates, and you’ve got everything you need for professional-looking, readable formulas.
Give it a try in your next Power Apps project. Once you start using string interpolation, you won’t want to go back to the old concatenation approach.
You may also like the following tutorials:
- Set Employee Birth Date in Microsoft 365 User Profile
- Retrieve SharePoint List Data into Power Apps Using Power Automate
- Create a Dataverse Table from Excel or CSV in Power Apps
- How to Use Prompt in Power Apps?
- Get Power Apps Environment ID

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.