Power Apps Find and Replace: Refactor Canvas Apps Safely
At a Glance
- Target Audience
- Power Apps canvas-app makers, Power Platform administrators and teams maintaining business-critical apps
- Problem Solved
- Replaces an obsolete preview-toggle guide and invented claims with the current app-wide and formula-scoped Search and Replace workflow.
- Use Case
- Rename variables, collections, controls, formula references or displayed text in a canvas app while preserving a review and recovery path.
Power Apps Studio has two current find-and-replace experiences for canvas apps:
- App-wide Search and Replace finds objects, variables, collections, data sources, text and formula references across the app.
- Formula-bar Find and Replace works inside the selected control property’s formula.
You do not need to enable an experimental setting. The important part is choosing the right scope, reviewing matches and testing the app after a replacement.
Fact-checked against Microsoft Learn and Microsoft Learn Code Sample Search on 7 August 2026.
The short answer
- Press Ctrl+F or Ctrl+H outside the formula bar to open app-wide Search or Replace.
- Inside the formula bar, Ctrl+F and Ctrl+H work on the selected formula/property.
- Inside the formula bar, Ctrl+Shift+H opens app-wide Replace.
- You can match case, match whole words and use regular expressions.
- Variable and collection renames can update their definitions across the app.
- Screen-level matches can be selected individually before replacement.
- Use Ctrl+Z immediately if a replacement is wrong, then inspect and retest the affected app paths.
App-wide Search and Replace
Open the Search pane from the left side of Power Apps Studio or use the keyboard shortcut. Microsoft documents search across categories including:
- screens and controls;
- formulas and text strings;
- variables and collections;
- data sources;
- media; and
- other app objects and references.
The results are grouped so you can understand what kind of thing matched. That context matters: changing a displayed label is different from renaming a control that formulas reference.
Search options
App-wide search supports:
- Match case — distinguishes
OrderIdfromorderid; - Match whole word — avoids changing a term embedded inside a longer name; and
- Use regular expression — matches a defined text pattern.
Begin with a literal, whole-word search for renames. Regular expressions are powerful, but a broad expression can select much more than expected.
Formula-bar Find and Replace
When the cursor is inside a formula, Ctrl+F or Ctrl+H opens the formula-bar experience. Its scope is the current property formula, not the entire app.
This is useful when you want to:
- change a field name in one gallery’s
Itemsformula; - inspect repeated text in one long formula;
- replace a value only inside a selected section; or
- avoid touching similarly named objects elsewhere.
Microsoft documents Match case, Match whole word, regular expression and Find in selection options. The last option is particularly useful for a targeted edit in a long formula.
Choose the right scope
| Task | Safer starting scope |
|---|---|
| Rename a global variable everywhere | App-wide search/replace, reviewing the variable group |
| Rename a collection everywhere | App-wide search/replace, reviewing the collection group |
| Change one label’s wording | Screen/result-level individual replacement |
| Change a name only in one property | Formula-bar find/replace |
| Audit references before deleting a data source | App-wide search first; do not replace blindly |
| Apply a pattern-based cleanup | Regular expression with every result reviewed |
If you are unsure, search first without replacing. The result list is an impact map.
Safely rename a variable or collection
Suppose an app uses a poorly named global variable such as gblX and you want gblCurrentOrder.
- Save the app and create a new version before the change.
- Open app-wide Search and search for
gblX. - Enable Match whole word so
gblXArchiveis not accidentally included. - Review the Variables group and screen-level references.
- Enter
gblCurrentOrderin Replace. - Select only the intended matches.
- Run the replacement.
- Refresh the search results and confirm the old name has no valid references left.
- Use App checker and exercise every path that reads or sets the variable.
Microsoft says replacing a variable or collection at its definition level changes the name throughout the app. Screen results allow more granular replacement of names, references and text instances.
The distinction is valuable. Use the definition-level operation for a genuine rename; use result-level selection when identical text has different meanings.
Rename controls carefully
Control names often appear in formulas such as:
txtSearch.Text
App-wide search helps find the references, but names still need to be valid and unique. Microsoft notes that replacements can fail when the new control name already exists or contains unsupported characters.
A practical naming scheme might use:
txtfor text inputs;btnfor buttons;galfor galleries;frmfor forms; and- a short purpose, such as
txtCustomerSearch.
The prefix is a team convention, not a Microsoft requirement. Consistency matters more than copying somebody else’s exact pattern.
Rename a few related controls at a time. A 200-control “cleanup” is harder to review and harder to roll back than a series of small changes.
Replace displayed text without breaking formulas
Replacing “Client” with “Customer” sounds simple, but the word might appear in:
- visible labels;
- screen or control names;
- SharePoint/Dataverse field references;
- collection or variable names;
- formulas that compare literal values;
- notification messages; and
- comments.
Search the whole app, then select only user-facing text if that is the actual requirement. Do not change schema names or business-state values merely to make wording consistent.
Where interface text needs translation, repeated literal replacement may not be the best long-term design. A central translation/label source can reduce future editing, but it adds its own maintenance and loading considerations.
Use regular expressions with a safety rail
Regular expressions are most useful for pattern discovery, for example finding a set of similarly named controls. They are also the easiest way to make an oversized replacement.
Before running one:
- test the expression in Search mode;
- inspect matches across every result group;
- narrow it with whole-word boundaries or a more specific prefix;
- deselect ambiguous results;
- save a version; and
- replace a small set first.
Power Apps uses the search options presented in Studio; this article does not assume undocumented expression features beyond Microsoft’s stated regular-expression support.
Search before removing a data source
App-wide search can show formulas and controls that reference a connector or table. Use that view before removal, but do not treat “no visible match” as absolute proof that the data source has no effect.
Check:
- named formulas and startup behaviour;
- component libraries and components;
- indirect values passed into components;
- flows called from the app;
- dynamic references or configuration records; and
- error and offline paths that normal testing rarely reaches.
For startup-specific references, pair the search with the patterns in our Power Apps App.OnStart guide.
A controlled refactoring workflow
1. Define the change
Write the old term, new term and intended scope. “Rename colProducts to colCatalogueProducts everywhere” is testable. “Clean up the names” is not.
2. Save a recoverable version
Save and publish only according to your organisation’s release process. Record the version you can restore. If the app is solution-aware, use the normal development environment and source/control pipeline.
3. Search before replacing
Count and inspect the matches by category. Unexpected locations are a reason to pause and understand the dependency.
4. Replace the smallest sensible unit
Select the intended result group or individual matches. Avoid a global replacement when a definition-level rename or formula-scoped edit is enough.
5. Refresh the results
Microsoft advises refreshing search results after app changes. Confirm the old term is gone where expected and the new one appears in the right places.
6. Run static checks
Use App checker and resolve newly introduced formula, accessibility or performance warnings. A successful text replacement is not proof that the formula still has the intended behaviour.
7. Test behaviour
Test as representative users and cover:
- create, read, edit and delete paths;
- empty and error states;
- navigation and deep links;
- startup and screen-load behaviour;
- delegation-sensitive filters;
- forms and validation;
- flows/connectors; and
- phone/tablet layouts where applicable.
Our Power Apps time tracker guide provides a compact app scenario in which you can practise controlled naming and formula changes.
Undo and recovery
If the result is obviously wrong, use Ctrl+Z while the editing session still contains the operation. Then search again and choose narrower matches.
Do not make undo your only recovery plan. For a material refactor, keep a saved app version or source-controlled solution state. Undo history is an editing convenience, not a release-management system.
Copilot-assisted control renaming
Microsoft also documents a preview Copilot feature that can proactively suggest names for supported controls. The current documentation limits it to English and currently supported control types such as labels and buttons.
Treat that as a preview assistant, not as a substitute for app-wide impact review. Suggested names may improve readability, but your team still owns naming conventions, formula behaviour and testing.
Common mistakes
Looking under Settings > Updates for a hidden preview
Current Microsoft documentation presents Search and Replace as a normal Studio capability. An old instruction to enable a named preview toggle may no longer match the editor.
Replacing every text match
The same word can be a label, schema name, variable, state value and part of another identifier. Review result categories.
Assuming a rename changes external data
Renaming an app control or variable does not rename a SharePoint column, Dataverse column or connector operation. Schema changes require their own supported migration and dependency review.
Refactoring directly in production
Search/replace makes broad edits faster; it does not make untested edits safe. Use a development environment, a saved version and a release path proportionate to the app’s importance.
Frequently asked questions
Does Power Apps have app-wide find and replace?
Yes. Power Apps Studio documents app-wide Search and Replace for objects, variables, collections, text and formula references, with selectable results and matching options.
What is the difference between Ctrl+H and Ctrl+Shift+H?
Outside the formula bar, Ctrl+H opens app-wide Replace. Inside the formula bar, Ctrl+H works on the current formula, while Ctrl+Shift+H opens app-wide Replace.
Can I undo a Power Apps replacement?
Microsoft documents Ctrl+Z to undo a replacement in the editing session. For material changes, also keep a saved version or source-controlled recovery point.
Keep the boundary clear
Studio behaviour can change and preview features can differ by environment. The steps above follow Microsoft’s current documentation; verify the controls in your tenant and test the resulting app rather than relying on a successful replacement message.
Join the Power Apps Builders Space for practical canvas-app patterns, refactoring advice and build reviews.
