Skip to main content
Andrii Prokhorov
April 30, 2024
Solved

How can I scale SVGs while retaining quality?

  • April 30, 2024
  • 15 replies
  • 643 views

Hello!

I’m importing an SVG icon from Azure pack and when upscaling it does react more like a bitmap, not a vector image. I’ve tried multiple different browsers, but result is the same. Is this fixable?

 

Best answer by Micah

Hi @Andrii Prokhorov, thanks for getting back to me with all of this detail - you’ve actually revealed what’s occurring. It’s only Lucidchart’s formal import tool  that allows SVGs to retain their vector properties. Dragging and dropping an SVG file onto the canvas in both Lucidchart and Lucidspark will treat the file as a regular image file, which as you’ noted in your original post, doesn’t resize as you’re looking for. I apologize for any confusion or frustration this has caused!

 

As Lucidchart is the product designed for more robust documentation and diagramming, it is the only product that supports SVG import (as well as shape library management) - Lucidspark does not. One potential workaround here is to formally upload your SVGs into Lucidchart and add them to your canvas, then edit your document in Lucidspark. This should allow you to upscale the icons as true vectors while utilizing Lucidspark’s editing tools. 

 

 

Give this a try, and let me know if it works for you!

Comments

alison cheney
Lucid community team
May 29, 2026

Hi Tia (​@MCM),

Thank you for posting in this thread!

That warning/pop-up is really just a safety net for super complex designs, like intricate illustrations with custom fonts or layered paths that could slow things down. Since Azure icons are built specifically for clean cloud diagramming, they use simple geometric paths that Lucid handles really well!

Keeping them as vectors means you're not locking that tiny file size into a low-resolution pixel grid, so you can scale them up as much as you need without losing quality. If the icon looks crisp and correct on your canvas after importing it unrasterized, you're totally good to go!

Please check out this Lucid Help Center Article on importing SVGs in Lucid. Let me know if you have additional questions!

June 1, 2026

@alison cheney thank you for your prompt and clear reply. This is what I needed to know.

In the spirit of no good deed going unpunished, I’ll ask one more question. The existing solution meets my requirements; this is just a nice-to-have feature, if there’s a way:

  • When rasterizing an SVG on import, is there a way to control the output resolution of the resulting shape?

Using the Microsoft Foundry icon, for example, I find that, at an appropriate scale, the rasterized version actually looks better than the native vector version. I don’t know how well this will come through, but below is a screenshot showing the same SVG file imported to a Lucidchart vector shape (left) and raster shape (right):

You may be able to see in the vector shape 1) coarsely-splined curves, and 2) white artifacts where the surfaces overlap.

By contrast, the raster shape is smoother and nicer looking (IMHO), but for the low resolution. If I could rasterize at a higher resolution, I think the right-hand copy would be the winner.

Again, both existing options are functional for what I’m doing at the moment; I’m just asking if I’ve missed anything, while we’re on the subject. Thanks!

June 2, 2026

I found a workaround that allows controlling the import rasterization resolution: Edit the SVG file.

I’ve learned that:

  • SVG files are text files in XML format (at least the Azure ones are)
  • Two attributes of the <SVG> tag, width and height, control the resolution of the rasterized Lucidchart shape during import (and, generally, the display behavior of the SVG file in other apps)
  • The default size is set to 18 pixels
  • Changing the size to 120 pixels matches the other Lucidchart icons I’m using

For example, here’s the opening tag for one of the SVG Azure icons from Microsoft:

<svg
id="ed8fbe5c-618b-47ce-8d68-3dbd1e10f81a"
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 18 18"
>

Observe the width and height attributes on lines 4 and 5. These control the display size. If we change them, we can make the icon display at a different size - and tell Lucidchart what resolution to use during import

CAUTION: From some quick reading, it appears that the viewBox value defines the vector coordinate space and, in turn, changing it can mess things up. I haven’t researched in more detail than that, just be forewarned.

The built-in Lucidchart shapes I’m using in my diagram are 120x120 pixels. So, if I update the width / height values from “18” to “120”:

<svg
id="ed8fbe5c-618b-47ce-8d68-3dbd1e10f81a"
xmlns="http://www.w3.org/2000/svg"
width="120"
height="120"
viewBox="0 0 18 18"
>

Here’s the results (with the “edited” copy set to 800x800 instead of 120x120, to emphasize the effect):

It’d still be nice to be able to control this in Lucidchart on import, but this will work for me. It’s easy enough to automate editing my library of SVG files with Python or sed or something.

HTH

Ambar D
Lucid community team
June 2, 2026

Hi ​@MCM, thanks for providing such a detailed workaround here for others who may come across this post, this is fantastic! 

I’m jumping in for Alison while she’s out of office, and I’m happy to help dig in here. I’m checking in with our product team on this one for any other solutions or workarounds here that may work for you. 

I’ll get back to you as soon as possible in this thread!

Ambar D
Lucid community team
June 5, 2026

Hi ​@MCM, thanks for your patience as I look into this a bit more! 

Are you hoping to edit/control the resolution of SVG files upon import and after selecting ‘Rasterize SVG Imports’? 

If yes, I certainly see what you’re saying with the screenshot you’ve provided, thank you for that example. I could understand how having this available upon import would be helpful. 

Unfortunately at this time, you’re absolutely right that the workaround you provided is the existing solution. This would be a great feature request to share in the Product Feedback space of this community! If you’d like to share this idea with other users and with our product team, you can create an idea with details about what you’d like to see. We’re very interested in your feedback and committed to continually improving our products. 

For more information on how Lucid manages feedback via this community, take a look at this post: