Binary Circle Creator
Generate stunning circular binary art patterns. Customize rings, colors, density, and export as PNG or SVG. Convert text to binary circles.
About
Binary circle art encodes information as concentric rings of 0 and 1 characters placed at polar coordinates. Each ring of radius r holds n characters spaced at angular intervals of 2ฯn radians. Misconfigured density produces illegible overlap. Poorly chosen contrast ratios render output unusable in print or on screens. This tool computes exact placement geometry, enforces minimum spacing constraints, and previews results in real time before export.
You can supply raw binary, random sequences, or convert arbitrary text to its UTF-8 binary representation. The tool maps each bit to a ring position, producing art that is both visually structured and data-faithful. Exported SVG files preserve vector sharpness at any scale. PNG export rasterizes at the canvas resolution you configure. Note: character legibility degrades when ring density exceeds approximately 200 characters at font sizes below 6px.
Formulas
Each character on ring k is placed using polar-to-Cartesian conversion. The radius of ring k is computed as:
where r0 is the starting radius and s is ring spacing. The angular position of character i on ring k with nk characters is:
where ฯk is the angular velocity for animation and t is elapsed time. Cartesian coordinates for rendering:
where (cx, cy) is the canvas center. When auto-density is enabled, characters per ring are calculated to maintain minimum arc spacing dmin:
Text-to-binary conversion encodes each character as its UTF-8 code point in 8-bit binary representation: char โ charCodeAt(0).toString(2).padStart(8, "0").
Reference Data
| Parameter | Default | Range | Effect |
|---|---|---|---|
| Canvas Size | 600px | 200 - 2000px | Output resolution and visual area |
| Number of Rings | 5 | 1 - 30 | Concentric layers of binary characters |
| Ring Spacing | 30px | 10 - 100px | Radial distance between adjacent rings |
| Characters per Ring | 40 | 6 - 300 | Density of digits on each ring |
| Font Size | 12px | 4 - 48px | Character legibility and visual weight |
| Rotation Mode | Radial | Radial / Tangential / None | How each character is oriented along the ring |
| Color: Zeros | #6C8EBF | Any hex color | Fill color for 0 characters |
| Color: Ones | #A3D9A5 | Any hex color | Fill color for 1 characters |
| Background | #FFFFFF | Any hex / transparent | Canvas background fill |
| Data Source | Random | Random / Text / Custom | How binary string is generated |
| Animation Speed | 0 | 0 - 100 | Ring rotation speed (0 = static) |
| Starting Radius | 40px | 10 - 500px | Radius of innermost ring |
| Auto-Density | On | On / Off | Auto-calculate chars per ring based on circumference |
| Opacity | 1.0 | 0.1 - 1.0 | Global character opacity |
| Font Family | Monospace | Monospace / Serif / Sans | Typeface for binary digits |