Here's a self-contained SVG โ a "compass study" of a circle with construction lines, a slowly rotating tick ring, and an orbiting accent dot:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 480" width="480" height="480" role="img" aria-labelledby="t"> <title id="t">A circle with geometric construction lines</title> <defs> <radialGradient id="body" cx="38%" cy="32%" r="75%"> <stop offset="0%" stop-color="#FFC46B"/> <stop offset="45%" stop-color="#FF7A3D"/> <stop offset="100%" stop-color="#DE3A1F"/> </radialGradient> <filter id="soft" x="-50%" y="-50%" width="200%" height="200%"> <feGaussianBlur stdDeviation="14"/> </filter> <pattern id="dots" width="24" height="24" patternUnits="userSpaceOnUse"> <circle cx="3" cy="3" r="1" fill="#16394B" opacity=".14"/> </pattern> </defs> <!-- ground + frame --> <rect width="480" height="480" fill="#F0F4F5"/> <rect width="480" height="480" fill="url(#dots)"/> <rect x="18" y="18" width="444" height="444" fill="none" stroke="#16394B" opacity=".25"/> <!-- center guides --> <g stroke="#16394B" stroke-width="1" opacity=".25" stroke-dasharray="5 7"> <line x1="240" y1="34" x2="240" y2="446"/> <line x1="34" y1="240" x2="446" y2="240"/> </g> <!-- compass ring, slow-rotating ticks --> <circle cx="240" cy="240" r="172" fill="none" stroke="#16394B" opacity=".45"/> <g stroke="#16394B" stroke-width="2" opacity=".5"> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(0 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(30 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(60 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(90 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(120 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(150 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(180 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(210 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(240 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(270 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(300 240 240)"/> <line x1="240" y1="60" x2="240" y2="75" transform="rotate(330 240 240)"/> <animateTransform attributeName="transform" type="rotate" from="0 240 240" to="360 240 240" dur="90s" repeatCount="indefinite"/> </g> <!-- orbiting accent --> <g> <circle r="9" fill="#128E8B" opacity=".25"/> <circle r="4.5" fill="#0F7C7A"/> <animateMotion dur="16s" repeatCount="indefinite" path="M 68 240 a 172 172 0 1 1 344 0 a 172 172 0 1 1 -344 0"/> </g> <!-- glow + the circle itself --> <circle cx="240" cy="240" r="132" fill="#FF6A3D" filter="url(#soft)" opacity=".38"> <animate attributeName="opacity" values="0.3;0.52;0.3" dur="7s" repeatCount="indefinite"/> </circle> <circle cx="240" cy="240" r="118" fill="url(#body)" stroke="#16394B" stroke-width="1.5" opacity="1"/> <ellipse cx="205" cy="192" rx="50" ry="28" transform="rotate(-28 205 192)" fill="#fff" opacity=".16"/> <!-- radius annotation --> <line x1="240" y1="240" x2="323.4" y2="156.6" stroke="#16394B" stroke-width="1.5" opacity=".7"/> <circle cx="240" cy="240" r="3" fill="#16394B"/> <circle cx="323.4" cy="156.6" r="3" fill="#16394B"/> <text x="297" y="186" font-family="Georgia, 'Times New Roman', serif" font-style="italic" font-size="20" fill="#16394B" opacity=".8">r</text> <text x="456" y="452" text-anchor="end" font-family="ui-monospace, Menlo, monospace" font-size="11" fill="#16394B" opacity=".45">fig. 1 โ circle</text> </svg>
If you actually wanted the bare-minimum one-liner instead: <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="50" cy="50" r="48"/></svg>