Post

#PowerPlatformTip 86: 'Free Power Apps Icons'

#PowerPlatformTip 86: 'Free Power Apps Icons'

TL;DR: Copy the SVG code of a free icon (Matthew Devaney’s set of about 2,000 Fluent icons or SVGRepo), replace its double quotes with single quotes and put it into an Image control: "data:image/svg+xml;utf8," & EncodeUrl("<svg ...>...</svg>"). Any size, any colour, even dynamic.

💡 Challenge

The built-in icon set of Power Apps is small. Uploading PNG files for every icon and colour bloats the app and makes recolouring a chore.

✅ Solution

Use SVG code instead of image files. An Image control accepts a data URI, so the SVG lives in the formula, scales without blur and can take its colour from a variable. Two free sources:

🔸 Matthew Devaney’s Power Apps icon set: about 2,000 icons from Microsoft’s Fluent UI System Icons, which Microsoft publishes under the MIT licence.

🔸 SVGRepo (svgrepo.com): a large library of SVG icons. The licence differs per icon and is shown on each icon’s page, so check it before you use an icon in a company app.

🔧 How It’s Done

1. Copy the SVG code

🔸 Pick an icon and copy its SVG code (on SVGRepo, for example, via the copy or “view SVG” option).

🔸 Make sure the <svg> tag contains xmlns='http://www.w3.org/2000/svg'. Without it the Image control stays empty.

2. Turn the double quotes into single quotes

🔸 The formula wraps the SVG in double quotes, so every " inside the SVG must become '. Any text editor’s search and replace does this in one step.

3. Put it into the Image property

🔸 Add an Image control and set Image to:

1
2
3
4
5
"data:image/svg+xml;utf8," & EncodeUrl(
    "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
        <path fill='#0F766E' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z'/>
    </svg>"
)

🔸 EncodeUrl() encodes characters such as # and spaces, so the data URI stays valid. This is the same pattern for both icon sources.

4. Make the colour dynamic (optional)

🔸 Store a hex colour as text, for example Set(varIconColor, "#0F766E") in App.OnStart, and concatenate it into the SVG:

1
2
3
4
5
"data:image/svg+xml;utf8," & EncodeUrl(
    "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>
        <path fill='" & varIconColor & "' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z'/>
    </svg>"
)

🔸 Changing varIconColor recolours every icon that uses it, for example for a hover state or a dark theme.

5. Reuse it

🔸 Used in many places? Put the icon string into a named formula in App.Formulas, for example IconCircle = "data:image/svg+xml;utf8," & EncodeUrl("...");, and set the Image property to IconCircle.

🎉 Result

Your app gets sharp icons in any size and colour, without uploaded image files, and a colour change is one variable away.

🌟 Key Advantages

🔸 Large free choice: thousands of icons beyond the built-in set.

🔸 Sharp at any size: SVG is vector graphics, so icons don’t blur on large screens.

🔸 Easy recolouring: one variable or one fill value changes the colour.

🔸 No media files: the icon is part of the formula, nothing to upload or maintain.

🛠️ FAQ

1. Where can I find free Power Apps icons?

Matthew Devaney’s Power Apps icon set offers about 2,000 Fluent icons, and SVGRepo hosts a large collection of SVG icons with the licence shown per icon.

2. Why does my Image control stay empty?

Usually one of three things: a double quote is still inside the SVG, the xmlns attribute is missing, or the SVG isn’t wrapped in EncodeUrl().

3. How do I change the colour of SVG icons?

Change the fill (or stroke) value in the SVG code, or concatenate a colour variable as shown in step 4.

🔸 #PowerPlatformTip 55: ‘Picking Colors’ - grab a brand color palette to recolor these SVG icons with.

🔸 #PowerPlatformTip 50: ‘Use TemplateApp’ - a Material Design template that already ships with 5000+ SVG icons.

This tip is by Marcel Lehmann, Microsoft MVP (Business Applications) and founder of the Power Platform Academy – live Power Platform workshops, free or CHF 49. Join the workshop waitlist to get notified about new dates. For companies that want this implemented for them, see KMUpower – Power Platform consulting & automation for SMEs (DACH).

This post is licensed under CC BY 4.0 by the author.

Microsoft and the Power Platform product names (for example Power Apps, Power Automate, Copilot Studio) are trademarks of the Microsoft group of companies. This is an independent website. It is not operated, sponsored or endorsed by Microsoft.