Difference in Inside and Outside Borders with XD - a problem?

almost 4 years ago from , Founder and Managing Director

The Astui API is about to evolve providing some great new functionality for creators. However, we’ve just discovered one very important difference with how XD handles Inner and Outer Borders (Strokes) when combined with chamfered or rounded corner types. It makes XD go against the flow of other vector apps including Illustrator, Affinity, Sketch and InVision. The difference is illustrated here:

Inside and Outside Strokes (Borders) - Differences with XD and other vector apps

With inner/outer stroke types not being defined in SVG, there’s no real defining document on the method to adopt. But I think I’m right in suggesting that Illustrator was the first to offer this functionality, and remaining the #1 vector design tool by usage, it makes the difference a major potential issue for interpretability for designer’s workflow.

I would appreciate any feedback and views on the difference.



Following swift feedback from Adobe, this situation is only applicable to "live" rectangles to match Chrome rendering. If converted to a standard path, rendering reverts to corners profiles as found in Illustrator, Affinity, etc.


  • Elaine Chao, almost 4 years ago

    Thanks for your feedback! This looks like a bug on our side for rectangles only; paths do the correct thing. We've filed this bug to fix in a future release of XD. If you're in a hurry for it to do the right thing, you can convert to path using Cmd+8 (Mac) or Ctrl+8 (Win).

    We saw your post on the XD product forum. In the future, you can also file bugs like these on https://adobexd.uservoice.com as well. Our product team regularly reviews UserVoice and our product forums.

    Thanks for surfacing this, and we're on it!

    Elaine Chao

    Product Manager, Adobe XD

    7 points
    • Nicholas van der Walle, almost 4 years ago

      Thanks Elaine! Your colleague Kerri also replied very promptly on the XD forum (excellent feedback by you both - appreciated). It was explained by Kerri that there's a deliberate case for this with "live" rectangles. I can see that (as well as potential issues). However, I also appreciate that it's not likely to be a major issue for most users are it's near-invisible for 1 or 2px strokes / borders.

      Therefore I'm but sure it's bug as such and wanted to get this feedback to confirm.

      If you can think of any change in your future approach, please keep us posted.

      0 points
  • Marc EdwardsMarc Edwards, almost 4 years ago

    Great analysis. In my opinion, XD’s approach is wrong, and undesirable.

    It’d be good to hear from the XD team, because maybe this is a bug or an unknown difference to them?

    2 points
    • Nicholas van der Walle, almost 4 years ago

      All credit to the XD team for feedback from two key people within hours. There is a justification for this (to match Chrome's renderer) for "live" rectangles. There is also a potential lack of consistency, but that's the world for you ;)

      2 points
  • James LaneJames Lane, almost 4 years ago

    Personally, I think XD are doing it right there, as long as you can edit how much chamfer/roundness there is.

    However, everyone will have different opinions on how it 'should' work - even at Adobe HQ clearly ;)

    1 point
    • Nicholas van der Walle, almost 4 years ago


      It's not possible to define the "roundess" or amount of chamfer on a corner type (mitre, round or chamfer being your options). The only option associated with corner types is "Limit" associated with mitre, which is acting the same across all packages.

      Please note that the corner type is not the same as adding a rounded corner to a rectangle.

      Thanks for your feedback!

      0 points