Skip to content

Circle Text Generator

Put words around a circle for a logo, stamp, sticker or badge. Add a second line along the bottom that reads the right way up, or spread one phrase all the way round, then download it as an SVG or a transparent PNG.

Handmade with care · Est. 2026 · ★ H A N D M A D E W I T H C A R E E S T . 2 0 2 6 ★ ★ ★

Top text covers 141°, bottom 70° of the circle · 370 × 370 px

Circle text or circled letters?

“Circle text” means two different things. This page bends a line of words around a circle, the way a coin, a cork stamp or a coffee-shop logo does. That layout is a picture: you can download it and place it, but you cannot paste it into a text box and keep the curve.

The other kind puts each letter inside its own little circle, like Ⓗⓔⓛⓛⓞ. Those are Unicode characters, so they paste into bios, usernames and messages. For that, use the text bubble generator.

Which kind of circle text to use for each place
Where it is goingUseWhy
Instagram, TikTok or Discord bioCircled lettersOnly characters survive in a text field
Logo or website headerSVG from this pageSharp at any size, small file
Canva, Word, Google Docs or slidesPNG from this pageEvery app accepts a PNG; transparent with Background set to None
Cricut, Silhouette or laser cutterSVG, converted to pathsCutting software works from outlines, not fonts
Printed sticker or labelSVG, or PNG with enough pixelsSee the print sizes below

How much text fits on a circle

Text on a circle is measured in degrees. A line of text L pixels long, laid along a circle of radius r, covers L ÷ r radians, which is L ÷ r × 57.3 degrees. The status line under the preview shows that number for your text, so you can see how close you are to the 180° of a top half or the 360° of the whole circle.

Worked example. Say the top line of a seal measures 420 px and the bottom line 190 px, on a circle with a radius of 150 px. The top covers 420 ÷ 150 = 2.8 radians, or 160.4°. The bottom covers 190 ÷ 150 = 1.27 radians, or 72.6°. Together that is 233°, which leaves 127° spare: about 63.5° on each side, plenty of room for a star between the two lines.

If a 600 px line has to fit across the top half of that same circle, the half circle is π × 150 = 471.2 px long. Either shrink the letters by 471.2 ÷ 600, so 30 px type becomes 23.6 px, or grow the circle until its half is 600 px long: a radius of 600 ÷ π = 191 px.

Length of a circle and its top half by radius
RadiusWhole circleTop halfDegrees per 10 px of text
50 px314.2 px157.1 px11.46°
100 px628.3 px314.2 px5.73°
150 px942.5 px471.2 px3.82°
200 px1,256.6 px628.3 px2.86°
250 px1,570.8 px785.4 px2.29°
300 px1,885.0 px942.5 px1.91°

“Circle size” on this page is the radius of the middle of the lettering, not the outer edge, so the sums above work directly with it. The outer ring sits a little further out, and the downloaded image is sized to fit everything with a small margin.

Top and bottom text that both read upright

If you write all the way round a circle in one direction, the words at the bottom end up upside down. That is fine for a ring of repeated words, but a seal with a name across the top and a date across the bottom needs both lines to read normally.

The fix is to run the two lines in opposite directions. The top line goes clockwise with the feet of the letters pointing at the centre. The bottom line goes anticlockwise with the tops of the letters pointing at the centre, so it reads left to right.

There is a second, quieter problem. Letters stand on their baseline. If both lines used the same circle as their baseline, the top letters would sit outside it and the bottom letters would hang outside it too, so the bottom line would sit a whole letter height further out. This page puts the top baseline half a capital height inside the circle and the bottom baseline half a capital height outside it, so both lines fill the same band and the rings fit neatly round both. The capital height is measured from the font you pick, which is roughly 0.7 of the letter size for most fonts.

Side marks (★ by default) go in the middle of each gap between the two lines. They are left out when the gaps are too narrow to hold them.

Spacing text evenly around a full ring

“All the way round” spreads the text over the whole circle with equal gaps, including the gap where the end meets the start. The spare length is shared out evenly: extra space per letter = (circumference − text length) ÷ number of letters, with spaces and separators counting as letters.

Worked example. Suppose “SCROLL DOWN • ” measures 260 px at your letter size and the circle has a radius of 120 px. The circumference is 2 × π × 120 = 754.0 px. 754 ÷ 260 = 2.9, so with Repeat to fill on, two copies fit (520 px). The remaining 234.0 px is shared between 28 slots (14 per copy), so each letter gets 8.4 px of extra space.

Many circle text tools fit a phrase to a circle by stretching it. SVG has a textLength setting that, with lengthAdjust="spacingAndGlyphs", widens or squashes the letters themselves until the text fills the path. Short words end up fat and long ones skinny. This page only ever changes the space between letters, so the letters keep the proportions the font designer gave them.

With “Letters face the centre” ticked, the ring runs anticlockwise instead, so the words read the right way up along the bottom and upside down at the top. Use it when the bottom of the badge is where people will look first, such as a sticker on the lower corner of a page.

Using the SVG or PNG in other apps

The SVG keeps your words as real text, one <text> element per letter, each turned to its place on the circle. Placing letters one by one is what lets the bottom line read upright and keeps every app showing the same layout, because it does not rely on each program’s own text-on-a-path support. The catch is that the font has to be on the computer that opens the file. The four fonts here are ones most Windows and Mac computers already have (Georgia, Arial, Impact and Courier New); on a phone or Linux machine without them, a similar font is used instead and the spacing can shift slightly.

For a cutting machine or a print shop, turn the letters into outlines so the font no longer matters. In Inkscape, open the SVG, select everything and choose Path › Object to Path. In Adobe Illustrator, choose Type › Create Outlines. The PNG does not have this problem: it is drawn by your browser with the font it has, then saved as pixels.

PNG width needed for printing at 300 pixels per inch
Printed widthPixels at 300 ppiSmallest PNG option that covers it
1 in (25 mm)300 px1024 px
1.5 in (38 mm)450 px1024 px
2 in (51 mm)600 px1024 px
3 in (76 mm)900 px1024 px
4 in (102 mm)1,200 px2048 px
6 in (152 mm)1,800 px2048 px
10 in (254 mm)3,000 px4096 px

300 pixels per inch is a common target for print. The largest PNG here, 4096 px, prints sharply up to 4096 ÷ 300 = 13.6 inches (347 mm) wide. For anything bigger, send the SVG.

A spinning text badge for a website

Rotating rings of text (“SCROLL • DOWN •”, “OPEN • 7 DAYS •”) are a common website decoration. Tick “Spin slowly” and the SVG carries its own CSS animation: one turn every 20 seconds, with a prefers-reduced-motion rule that stops it for visitors who have asked their device for less motion. Only the ring turns; the centre text and the rings stay still. Because it is CSS rather than script, it keeps working when the file is used as a plain <img>. The PNG is always still.

Reduced motion is not the whole story. WCAG 2.2 success criterion 2.2.2 says moving content that starts by itself, lasts more than five seconds and sits alongside other content needs a way for the user to pause, stop or hide it. A spinning badge never ends, so if your site follows WCAG, download it without spin and turn the image with CSS on your page instead, where you can add a pause button:

.badge { animation: badge-spin 20s linear infinite; }
.badge.is-paused { animation-play-state: paused; }
@keyframes badge-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .badge { animation: none; }
}

A button that toggles is-paused on the image gives everyone, including keyboard users, the control the criterion asks for. Pausing on hover alone does not, because it only helps people using a mouse.

When circle text comes out wrong

Common circle text problems, their causes and fixes
What you seeWhyFix
Bottom words upside downBoth lines run the same way round the circleUse Top & bottom, which runs the bottom line anticlockwise
Last letters missing (in other tools or hand-made SVG)On an open path, SVG does not draw letters whose middle falls past the end of the pathShorten the text or enlarge the circle; letters here are placed one by one, so none are dropped
Letters stretched or squashedThe text was forced to a length with textLengthChange the circle or letter size instead; this page only adjusts spacing
Start and end of the text overlapThe text needs more than 360°Follow the warning under the preview: bigger circle or smaller letters
Different font after opening the SVG elsewhereThat computer does not have the fontConvert the text to paths, or use the PNG
Blurry when printedToo few pixels for the print sizePick a wider PNG from the table above, or print from the SVG
Arabic or Hebrew letters in the wrong orderLetters are placed one at a time from left to rightUse text-on-a-path in a design app that shapes right-to-left text

Frequently asked questions

Can I paste circle text into my Instagram bio?

Not the curved layout: a bio only keeps characters, so the curve is lost. Circled letters such as Ⓐ are characters and do paste. You can still upload the PNG from this page as a post or profile picture.

How do I curve text in Word or Canva instead?

Word bends WordArt with Text Effects › Transform › Follow Path, and Canva has a Curve effect under Effects. Both curve one line in one direction. When you need a top line and an upright bottom line, rings or a centre mark, make it here and insert the PNG.

Can I use my own font?

Not on this page: it sticks to fonts most computers already have so the file looks the same when opened elsewhere. You can open the SVG in Inkscape or Illustrator and change the font there, then check the spacing, because a different font has different letter widths.

Why is every letter a separate piece of text in the SVG?

So the bottom line can read upright, spacing can be shared out exactly, and nothing depends on how a program handles text on a path. The downside is that editing a word means editing letters, so it is easier to change the text here and download again.

Is my text uploaded anywhere?

No. The layout, the SVG and the PNG are all made in your browser.

Sources