📐 Net standard geometry/shape manipulation library, can be used to merge / split shapes



Build status codecov GitHub license

Join the chat at https://gitter.im/SixLabors/Shapes GitHub issues GitHub stars GitHub forks

SixLabors.Shapes is a new cross-platform 2D polygon manipulation API.


Pre-release downloads

At present the code is pre-release we have initial pre-releases availible on nuget.

We also have a MyGet package repository - for bleeding-edge / development NuGet releases.

Manual build

If you prefer, you can compile SixLabors.Shapes yourself (please do and help!), you'll need:

To clone it locally click the "Clone in Windows" button above or run the following git commands.

git clone https://github.com/SixLabors/Shapes.git


  • Point in Polygon
  • Line Intersections
  • Complex Polygons
  • Simple polygon clipping
  • Regular Polygons (triangles, squares, pentagons etc, any number of sides)
  • Ellipses (and therfore circles)
  • Shape Builder api - for creating shapes declaratively
  • Polygons
    • With Linear line segments
    • With Beziear curve line segments
    • Mixture of both Linear & bezier segments
  • Paths
    • With Linear line segments
    • With Bezier curve line segments
    • Mixture of both Linear & bezier segments

How can you help?

Please... Spread the word, contribute algorithms, submit performance improvements, unit tests.

Projects using SixLabors.Shapes

The SixLabors.Shapes Team


Core Team