Every letter is a circle.

Type a sentence and a turtle draws it, one circle per letter, one color per word. Leave it running and it becomes a screensaver that reads poems, quotes or your own PDFs.

Live demo

Sifar

noun · zero, nothingness

The words of great poets leave nothing behind in the material world. They are spoken, and they vanish. Yet they move people to make things.

Here every word is drawn as circles, a row of zeros, and then fades away to make room for the next line.

The words return to nothing. The thought remains.

How it works

It started in 2019 as a 50-line Python turtle script. The web version follows the same rules step by step, so the same words make the same shapes.

  1. Each word gets a color and a stepThe pen picks a random color and moves forward 200 units.
  2. Each letter becomes a circleThe radius is the letter’s place in the alphabet times 5: a is 5, z is 130. After each circle the pen turns right 45°.
  3. Overlaps punch holesThe word is filled with the even-odd rule, so where circles overlap the paper shows through.
  4. The sentence is written lastYour text appears beside the drawing, where the original script placed it.
# graphics.py, 2019
for word in s.split():
    pencolor(r, g, b); fillcolor(r, g, b)
    forward(200)
    begin_fill()
    for letter in word:
        p = alphabet.index(letter)
        circle(p * 5)
        right(45)
    end_fill()
The core loop of the original script, ported line for line to the Canvas API.

What it does

Everything runs in your browser. Nothing is uploaded anywhere.

Five speeds

Sloth, Tortoise, Turtle, Hare and Cheetah. The pen moves at a constant on-screen speed.

Three color styles

Classic random colors, two-tone gradients, or iridescent glass that slowly shifts hue.

Screensaver

Fullscreen, keeps the screen awake, starts on its own when idle, exits on any key.

Poems and quotes

A built-in public-domain library: Dickinson, Frost, Wordsworth, Shelley, Marcus Aurelius, Seneca and more.

Your own text and PDFs

Paste text or drop a PDF. It scrolls sentence by sentence, each one drawn as it passes.

Random typography

Each piece is set in one of thirteen typefaces, sometimes italic, sometimes in spaced capitals.

Tech stack

No framework and no build step: two static HTML files you can open straight from disk or host anywhere.

LayerWhatUsed for
LanguageHTML, CSS, vanilla JavaScript (ES2020)The whole app in one file, app.html
RenderingCanvas 2D APITurtle drawing, Path2D even-odd fills, gradients, glow and sheen
AnimationrequestAnimationFrame, CSS transitionsConstant-speed pen, crossfades, scrolling reader
PDFpdf.js 3.11 (Mozilla, Apache-2.0)Text extraction, loaded from cdnjs only when you open a PDF
TypeGoogle FontsBricolage Grotesque, Newsreader, IBM Plex Mono and ten display faces
Browser APIsFullscreen, Screen Wake Lock, Clipboard, File and drag-and-drop, localStorage, ResizeObserverScreensaver mode, sharing, opening files, remembering settings
HostingSevalla static site hostingServes the static files, deployed from GitHub on every push
OriginPython 3 turtleThe original script, kept in python/graphics.py

Made by Manoj Manduva

Principal Product Designer · Vancouver, BC

“I work between a founder’s vision and people’s needs, bringing product thinking and design together.”

Manoj is a product designer and strategist with a background in computer science engineering and a master’s in interaction design. He has designed EV charging for Volkswagen, AI video editing at Pictory, and enterprise software at Oracle. Sifar started in 2019 as a small Python experiment called Text to Graphics, part of making room for curiosity in what he builds.