Skip to content
CoDdleCoDoodle home
Behind the DoodleJun 20, 20267 min read

How to Make Code Art Feel Less Robotic

Straight lines and perfect symmetry can make code art feel cold. A few small wobbles usually warm it right up.

processcraft

Perfect symmetry is the tell

Code art reads as code art when everything is a touch too clean — mirror-perfect sides, exact same gap on both eyes, a mouth dead-centered to the pixel. The eye notices the math before it notices the drawing.

The fix isn't more effort. It's less precision, on purpose.

Wobble by a pixel or two

Nudge one eye a pixel higher than the other. Tilt the whole shape a degree off-axis. Round a corner at 48% instead of 50%. These are the differences between a drawing and a render.

You're not adding chaos. You're adding the amount of asymmetry a human hand would naturally introduce — which is small.

.eye-left  { top: 44%; }
.eye-right { top: 45%; }   /* a pixel higher — on purpose */
.face { transform: rotate(-1deg); }

Vary your repeats

If you draw six spots, don't draw six identical spots. Vary the size and rotation of each one. Identical copies read as a stamp; varied copies read as a pattern someone placed.

Let the outline breathe

A perfectly even stroke weight all the way around a shape is another tell. Where you can, let a line taper or let a corner be slightly softer than its twin. The outline is where hand-drawn energy lives.

More from the blog

Keep reading

Start here
CSS Art6 min read

CSS Art for Beginners: How to Think in Shapes

Before you write a single property, see your drawing as circles, ovals, and rounded rectangles stacked together. Once the shapes click, the CSS almost writes itself.

cssbeginnershapes
Read note
CSS Art5 min read

Drawing Cute Characters with Only Divs

No SVG, no canvas — just divs, border-radius, and a little patience. Here's how a boxy face turns soft and friendly.

csscharacters
Read note
SVG7 min read

When to Use SVG Instead of CSS

CSS is great until you need a curve that isn't a circle. Learn when to reach for SVG paths instead of forcing border-radius.

svgcsscomparison
Read note

Hands on

Want to try the idea?

Pick a spot to sketch it out — nothing you make here is permanent.