Canvas Apps
How to add SVG icons/image in PowerApps

How to add SVG icons/image in PowerApps

Icons are a way to show richness in User Interface, Even though Canvas apps provide a handful of icons they might not be suitable for some of the scenarios. In such cases, we can use SVG icons or if the UI needs to be improvised across the app SVG icons can be used.

SVG images are scalable, do not take more space and customizable.

Some of the icons providers are:

In this example, we used bootstrap icon

Boot strap icons

Below is the comparison of PowerApps icon and SVG image

Icons Comparison

We are going to bring the below image to PowerApps

SVG Image
<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-hand-thumbs-up' viewBox='0 0 16 16'>
  <path d='M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z'/>
</svg>

SVG is XML based and it should be passed as an image format in the Image control, “EncodeUrl” is used to convert the special characters to UTF-8 format. Below is the representation with HTML image tag

HTML image control
<img src="data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2716%27%20height%3D%2716%27%20fill%3D%27currentColor%27%20class%3D%27bi%20bi-hand-thumbs-up%27%20viewBox%3D%270%200%2016%2016%27%3E%0A%20%20%3Cpath%20d%3D%27M8.864.046C7.908-.193%207.02.53%206.956%201.466c-.072%201.051-.23%202.016-.428%202.59-.125.36-.479%201.013-1.04%201.639-.557.623-1.282%201.178-2.131%201.41C2.685%207.288%202%207.87%202%208.72v4.001c0%20.845.682%201.464%201.448%201.545%201.07.114%201.564.415%202.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217%201.466.217h3.5c.937%200%201.599-.477%201.934-1.064a1.86%201.86%200%200%200%20.254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857%200-.288-.036-.585-.113-.856a2.144%202.144%200%200%200-.138-.362%201.9%201.9%200%200%200%20.234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84%209.84%200%200%200-.443.05%209.365%209.365%200%200%200-.062-4.509A1.38%201.38%200%200%200%209.125.111L8.864.046zM11.5%2014.721H8c-.51%200-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65%201.095-.3%201.977-.996%202.614-1.708.635-.71%201.064-1.475%201.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34%208.34%200%200%201-.145%204.725.5.5%200%200%200%20.595.644l.003-.001.014-.003.058-.014a8.908%208.908%200%200%201%201.036-.157c.663-.06%201.457-.054%202.11.164.175.058.45.3.57.65.107.308.087.67-.266%201.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581%200%20.212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224%202.224%200%200%201-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866%200%200%201-.121.416c-.165.288-.503.56-1.066.56z%27%2F%3E%0A%3C%2Fsvg%3E" alt="Trulli" width="500" height="333">

The same approach is going to be implemented in PowerApps

"data:image/svg+xml;utf8, "&EncodeUrl("
<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-hand-thumbs-up' viewBox='0 0 16 16'>
  <path d='M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z'/>
</svg>
")

Please post your queries in the comments. Happy Building šŸ™‚

0

Leave a Reply

%d bloggers like this: