In Inkscape, rounding the corners of a rectangle is easy - you select the object, press F4 (rectangle tool), and drag the circular nodes.
How do you do that for more complex shapes?
"Dynamic offset" is nearly the right thing, but it doesn't round the insides of a concave polygon.
120 Answers
since Inkscape 1.0 + we have LPE Corners (changer/fillet)
- Select object
- Go to Path/ Path effects
- Add Corners (Fillet/Chamfer) by clicking on +
- Adjust the size of corners with the node tool by dragging green nodes or in the dialog
GIF how to add custom round corners
4- Select the rectangle or square
- Select the nodes option
- On the right hand corner, you will see a round node instead of a square node. Drag down the node until you get the rounded corner you want.
The nodes option:
Round widget you need to drag to get rounded corners:
What happens when you drag the round widget:
As others have noted this only works on rectangles (but that is a common use case that will land people on this page).
6This can be achieved using the Fillet/Chamfer path effect (currently only available in the developer version 0.91+devel, which can be found here). EDIT Fillet/Chamfer was removed and reintroduced in 1.0 alpha. As of 2/10/2021, the latest release of Inkscape should include Fillet/Chamfer.
Here's how you use it:
- Select the path that you want to modify and then open the path effects tab under
Path > Path Effects....
- Add a new effect in the path effects window and select
Fillet/Chamfer.
- Choose a radius that you want to apply to the corners of the path, and press the
Filletbutton.
- If you only want to round some of the corners, tick the
Change only selected nodes boxand select the nodes that you want to change in path edit mode before clicking theFilletbutton.
This seems to be a weak point with Inkscape, to not have a simple way to do this. The best way to deal with this I've found so far is:
- Make several rounded-corner rectangles, using the desired final corner radius
- Butt them up against each other to make the overall final shape, not minding the spots where corners don't meet due to roundness,
- Path-union them into one path
- Fix the extraneous notches by deleting their nodes.
Luckily someone has described this technique online, with illlustrations (scroll down a bit)
I hope there's a path-editing tool that can just convert a path the way you (and fifty thousand other Inkscape users) want, somewhere out there. If not, this would make a great weekend coding project.
2Another makeshift solution with issues, but which also works for non-rectangular shapes:
- Apply Dynamic Offset to your object.
- Convert Object to Path.
- Add Nodes (under Extensions → Modify Path). This is optional but will most probably improve your results drastically. The more the merrier.
- Apply a dynamical inset (i.e., negative Dynamical Offset) to your object.
- If desired, convert Object to Path once more and Simplify.
Here's another method that I've just discovered when I wanted to add rounded corners to an existing irregular polygon for the purposes of creating a laser cut perspex design that is more resilient to cracking.
Choose the Edit Paths By Node (F2) tool and select the corner node that you want to make rounded.
Hold down Ctrl-Alt and click slightly along the horizontal line away from the corner to add a new node.
- Do the same again to create a new node slightly along the vertical line to add another new node.
- At this stage I return to the two new nodes and ensure that they both have a constant offset from the corner. e.g. 2mm away.
- Select the corner node and press Del to delete it. Your corner should now look like this:
- Drag the two bezier points at the bottom left so that they form a satisfactory curve. I hold down Ctrl and align them on top of each other to look like this:
If your version of Inkscape doesn't have the Fillet/Chamfer path effect, you may find the extension I wrote helpful:
4I have used another method. Once i got used to it, and learned how to use the snapping options, I find that I could work pretty fast. This works best with paths composed by orthogonal lines that are parallel to the axis.
- Subtract a circle having the radius you want from a square to create a 'cutter' shape. Put the centre of the circle on one of the square corners and size the square as the circle diametre. This ensures that the centre of your cutter will be aligned with the arc edges:
- Duplicate your cutter to be able to reuse it and align it put it on the corner that you want to round. Activate snapping of centres of objects and cusp nodes to align the cutter exactly where you want.
- If necessary, rotate the cutter along its centre to align the arc with the edges of the underlying path
- Select the original path and the cutter and do a boolean difference, if your corner is convex, a boolean union if it is concave. Your corner is now rounded!
- Duplicate the cutter and repeat for all the corners you wish.
- If your initial shape was open, the boolean operation will have closed it. You may have to reopen it att he end of the process.
Inspired by bonaccia answer (thank You for it) I discovered that to get control over rounded corners You can use some additional rectangle or square and a snipping feature. Check out the following GIF I made.
Another solution to this problem is to use the path division tool. The advantage here is that the radii can be explicitly set as a number
- Create the rectangle
- Create a circle with the desired radius
- Align the circle into the corner of the rectangle
- Select the rectangle and the circle, and use Path-> Division
- Delete the unwanted corner piece
- Do a Path-> Union between the new circle and the original rectangle
I was able to solve this using the Edit paths by nodes tool. I'll show how I handled a single end, but the operation should work for any shape with a flat edge. Starting out with a shape like this:
Select the Edit paths by nodes tool and select your shape. If the end of your shape is flat it should have two nodes, one for each corner. Select those nodes and click the Insert new nodes into selected segments button: This will add a third node in between the two nodes on the end, and will look something like this:
Now that we have a node in the middle we can make our rounded corners. Just select the node and pull it away so it creates a point, like this:
Be sure to use Ctrl+drag to drag in a straight line. Now that we have a point we need to allow the node to be smoothed out, and this is where the Make selected nodes symmetric button comes in: . This adds some handles to the node to allow us to change the shape of the node. It will look like this:
Now just adjust the handles (holding Ctrl to keep everything straight) to get the desired roundedness:
I've had success with just using Bezier curves. E.g. I would draw the OP's L shape like
|
|
| \ \ \_________(very rough ASCII art!) i.e. with a diagonal line where the rounded corner should be, and then adjust the Bezier control points for the two line join points.
There is a new Round-Corners extension, that should be flexible enough to fulfill all the cases discussed here.
- chamfer,
- fillet with exact circular arc,
- individual selection which points to process,
- still works when path segments are curved.
(shamelessly re-inventing a wheel and advertising it)
For a purely cosmetic effect (that is, you don't end up with a rounded path) you could try applying the Filters > Blurs > Cross-smooth effect. Then open the Filter Editor and set the Standard Deviation Effect Parameter to about 1.0.
Another method is to create a stroke and set the Join and Cap to be rounded. Copy the path and paste in place and remove the stroke from the copy. Then select the original and select path > stroke to path then union the 2 shapes back together.
Enable all snapping:
Perform action from animation using .gif link:
If anyone can will edit the message to display pictures
3Since there is no clean solution, let's mention another one, using GIMP!
1- Make a copy of only this object in another Inkscape instance (in case you have other objects)
2- Export to bitmap (a png file)
3- Open the png with GIMP, select the shape by "Select by Color Tool"
3- Select -> Feather -> by R pixels (the radius)
4- Color the selection and save/export to png again
5- Open the modified png file with Inkscape and use "Trace Bitmap" tool to get a rounded path (since the shape should be single-colored, it's easy and probably clean)
2It works pretty well but it change a bit your shape.
That's similar to Wrzlprmft's solution.
Sorry I don't have 10 reputation to post images
You can also create an inkscape extension that:
Takes these inputs:
which corner you want to round
strength of rounding (r)
than does that:
- sets up a mathematical system using:
- at this point it adds two nodes in the tangent points and replaces the node with the arc
Sorry for my terrible english
You can use the XML Editor in Inkscape to make rectangles rounded corner. Open the XML Editor, select the <svg:rect element. Add the rx and ry attributes, in the lower right of the XML Editor there are two fields and a Set button. Put rx in the top field, and 10 or any other number, then press Set.
It's very simple actually.
Make a shape that has rectangular corners.
Click on the rectangle tool
Click on one of the circular handles at a corner of the shape, not one of the square handles.
Press Shift and drag the circular handle, it will automatically make rounded corners.
Drag a circular handle to make rounded corners.