Using Claude as a Logo Design Agency

VisualizationOpen Source

We built a Claude Code skill that turns Claude into a surprisingly good logo designer. It brainstorms visual metaphors, iterates on feedback, and outputs production-quality SVG design.

Riley Hilliard
Riley Hilliard
Director of High-Fives·Mar 14, 2026·5 min
Copied to clipboard
Using Claude as a Logo Design Agency

This is our logo. Claude designed it in about an hour (which included skill creation time), and the entire thing is five SVG <path> elements with flat color fills.

OpenData

We open sourced the Claude Code skill that teaches Claude the logo design principles that got us these results. Give it a product description and it designs directly in SVG.

Claude generated 15 logo concepts, built an HTML comparison page with size ramps and dark mode previews, and iterated on feedback in 30-second cycles.

01 - Isometric Cube

3D data block. Three faces in cyan, blue, navy. Solid, trustworthy.

01 - Isometric Cube at 16px16
01 - Isometric Cube at 32px32
01 - Isometric Cube at 64px64
01 - Isometric Cube dark at 16px16
01 - Isometric Cube dark at 32px32
01 - Isometric Cube dark at 64px64
OpenData
OpenData

03 - Stacked Layers

Three offset tables. Multiple datasets unified. Data rows visible.

03 - Stacked Layers at 16px16
03 - Stacked Layers at 32px32
03 - Stacked Layers at 64px64
03 - Stacked Layers dark at 16px16
03 - Stacked Layers dark at 32px32
03 - Stacked Layers dark at 64px64
OpenData
OpenData

04 - Open Circle

Broken ring = "open." Data dot inside. Minimal, iconic.

04 - Open Circle at 16px16
04 - Open Circle at 32px32
04 - Open Circle at 64px64
04 - Open Circle dark at 16px16
04 - Open Circle dark at 32px32
04 - Open Circle dark at 64px64
OpenData
OpenData

09 - Rising Bars

Three ascending bars. Data made visible. Teal, cyan, blue.

09 - Rising Bars at 16px16
09 - Rising Bars at 32px32
09 - Rising Bars at 64px64
09 - Rising Bars dark at 16px16
09 - Rising Bars dark at 32px32
09 - Rising Bars dark at 64px64
OpenData
OpenData

10 - Compass Rose

Four-point star. Discovery, navigation. Gradient blue-to-teal.

10 - Compass Rose at 16px16
10 - Compass Rose at 32px32
10 - Compass Rose at 64px64
10 - Compass Rose dark at 16px16
10 - Compass Rose dark at 32px32
10 - Compass Rose dark at 64px64
OpenData
OpenData

02 - Hub Filled

All solid filled. Bold, classic hub-spoke.

02 - Hub Filled at 16px16
02 - Hub Filled at 32px32
02 - Hub Filled at 64px64
02 - Hub Filled dark at 16px16
02 - Hub Filled dark at 32px32
02 - Hub Filled dark at 64px64
OpenData
OpenData

05 - Organic

True graph. Nodes connect to each other, not just hub.

05 - Organic at 16px16
05 - Organic at 32px32
05 - Organic at 64px64
05 - Organic dark at 16px16
05 - Organic dark at 32px32
05 - Organic dark at 64px64
OpenData
OpenData

06 - Color Blue

Dark ring + blue fills. Clean single-accent.

06 - Color Blue at 16px16
06 - Color Blue at 32px32
06 - Color Blue at 64px64
06 - Color Blue dark at 16px16
06 - Color Blue dark at 32px32
06 - Color Blue dark at 64px64
OpenData
OpenData

07 - Duo Tone

Blue center, teal + blue satellites.

07 - Duo Tone at 16px16
07 - Duo Tone at 32px32
07 - Duo Tone at 64px64
07 - Duo Tone dark at 16px16
07 - Duo Tone dark at 32px32
07 - Duo Tone dark at 64px64
OpenData
OpenData

08 - Gradient Flow

Blue-to-teal gradient across nodes.

08 - Gradient Flow at 16px16
08 - Gradient Flow at 32px32
08 - Gradient Flow at 64px64
08 - Gradient Flow dark at 16px16
08 - Gradient Flow dark at 32px32
08 - Gradient Flow dark at 64px64
OpenData
OpenData

11 - Blue Web

Off-center hub, 5 nodes, inter-connected. All-blue palette.

11 - Blue Web at 16px16
11 - Blue Web at 32px32
11 - Blue Web at 64px64
11 - Blue Web dark at 16px16
11 - Blue Web dark at 32px32
11 - Blue Web dark at 64px64
OpenData
OpenData

12 - Constellation

Irregular, organic. Varied node sizes.

12 - Constellation at 16px16
12 - Constellation at 32px32
12 - Constellation at 64px64
12 - Constellation dark at 16px16
12 - Constellation dark at 32px32
12 - Constellation dark at 64px64
OpenData
OpenData

13 - Venn Trefoil

Three overlapping circles. Datasets intersecting. White center = unified truth.

13 - Venn Trefoil at 16px16
13 - Venn Trefoil at 32px32
13 - Venn Trefoil at 64px64
13 - Venn Trefoil dark at 16px16
13 - Venn Trefoil dark at 32px32
13 - Venn Trefoil dark at 64px64
OpenData
OpenData

14 - Offset Hub

Off-center hub, 5 colored nodes, inter-connected edges.

14 - Offset Hub at 16px16
14 - Offset Hub at 32px32
14 - Offset Hub at 64px64
14 - Offset Hub dark at 16px16
14 - Offset Hub dark at 32px32
14 - Offset Hub dark at 64px64
OpenData
OpenData

15 - Open Ring

Broken arc. Gap = open data. Blue-to-teal nodes.

15 - Open Ring at 16px16
15 - Open Ring at 32px32
15 - Open Ring at 64px64
15 - Open Ring dark at 16px16
15 - Open Ring dark at 32px32
15 - Open Ring dark at 64px64
OpenData
OpenData
Claude's preview page: each card shows the logo at 16/32/64px, dark mode variants, and a nav mockup. Click-to-compare, live reload.

Here’s how we got here, and how to get similar results yourself.

Why SVG Instead of Image Generation?

My first attempt was Gemini with Imagen (what the community calls “Nano Banana”), which is arguably one of the strongest image generation models right now. The plan was to generate a raster logo and convert it to SVG. After over an hour of prompting, including providing reference images of the direction I wanted, I didn’t get a single result I’d consider close. Each generation took 2+ minutes, and getting Gemini to produce variants of a specific direction was painful. The outputs were interesting images, but not logos. Too much detail, and the kind of visual complexity that falls apart at small sizes.

Drake disapproval memeGemini logo attempt 1: colorful hub-and-spoke networkGemini logo attempt 2: teal network nodesGemini logo attempt 3: circular network badgeGemini logo attempt 4: filled circle networkGemini logo attempt 5: dark gray radial nodesGemini logo attempt 6: rounded square network
Gemini with Imagen output: interesting visually, but too detailed and raster-bound for logo use.

That’s what pushed me toward a different approach: skip image generation entirely and have Claude design directly in SVG.

Image Gen + Manual SVG TraceClaude + SVG Skill
Design qualityStruggled with logo constraintsSurprisingly strong
Output formatRaster (needs manual conversion)Production SVG
Iteration speedRe-generate, re-traceEdit a few coordinates
Dark modeRe-trace variantSwap a few color values
Total workflowHours (if the design is even usable)~1 hour start to finish

The Skill

If you’ve asked Claude to design an SVG before, you probably got something technically valid but visually rough. Claude can write SVG markup all day, but without design knowledge it tends to produce shapes that look like placeholder clip art. Claude Code skills close that gap by injecting domain expertise directly into the conversation. With this skill loaded, Claude knows how to keep a logo legible at 16px, when to use strokes vs fills, and how to structure a multi-variant comparison page.

The core skill covers SVG fundamentals (canvas sizing, shape vs path decisions, styling defaults, fill-rule) plus a 5-step logo design process that emphasizes metaphor diversity. It routes to 8 reference files via progressive disclosure, so Claude only loads what it needs for the specific task.

  • Path patterns: arc flag combinations and hand-written templates for common shapes on 24x24 grids
  • Logo techniques: simplicity at scale, geometric construction, consistent stroke weight, limited color palettes, and typography guidance
  • Icon design: conventions from Lucide, Heroicons, Material, Phosphor, and pixel-perfect alignment rules
  • Advanced techniques: gradients, clip-path vs mask, and when to avoid filters in logos
  • Animation: multi-phase timing, stagger math, and a Vite/JSX trap to avoid
  • Optimization: SVGO usage and style consolidation patterns
  • Accessibility: ARIA patterns for decorative/informative/complex SVGs and common pitfalls
  • Editing workflow: boolean operations, SVG composition, and the multi-variant preview page template

The skill is published as part of the tryopendata/skills plugin. In Claude Code, two commands:

/plugin marketplace add tryopendata/skills
/plugin install opendesign@tryopendata-skills

Once installed, Claude auto-detects when SVG work is relevant, or you can invoke it directly with /svg-design. For Claude.ai or Claude Desktop, follow Anthropic’s guide for using skills to upload the skill files from the repo.

The Design Process

My first rounds were too prescriptive. I kept asking for network graph variations because I had a specific visual in mind, and every round came back with slight variations of the same hub-and-spoke concept. The results got dramatically better when I stopped directing the visual and instead just described the product: “OpenData is a platform that unifies scattered public datasets into one queryable place”. With that freedom, Claude started generating concepts I hadn’t considered: isometric data cubes, compass roses, Venn trefoils, open brackets. The best ideas came from letting Claude design, not just illustrate my ideas.

When I was being prescriptive about network graphs, I got variations on the same theme:

Hub Filled logo

Hub Filled

Organic Graph logo

Organic Graph

Duo Tone logo

Duo Tone (colored)

Monochrome hub-spoke and organic graph variants, all using currentColor for theme adaptability

When I gave Claude the product description and let it design freely, the concepts opened up:

Stacked Layers logo

Stacked Layers

Open Circle logo

Open Circle

Venn Trefoil

Compass Rose logo

Compass Rose

Rising Bars logo

Rising Bars

Stacked Layers, Open Circle, Venn Trefoil, Compass Rose, and Rising Bars. All SVG, all designed by Claude.
Drake approval meme

The isometric cube variant stood out right away. Three flat faces in different brand colors, clean at every size, reads as a solid object even at 16px. A handful of iterations from there:

  1. Lifted the top off and made the interior visible for an “open” feel
  2. Added a second floating layer in teal
  3. Tightened vertical spacing until the layers felt like one object

16px

32px

64px

128px

The final logo: an isometric open box with two floating data layers. 11 lines of SVG.

Five <path> elements with flat fills. No gradients, no filters. It renders identically at every size because there’s nothing to degrade.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  <!-- Box body -->
  <path d="M 4 18 L 16 23 L 28 18 L 16 13 Z" fill="#2563EB" opacity="0.25" />
  <path d="M 4 18 L 16 23 L 16 30 L 4 25 Z" fill="#2563EB" />
  <path d="M 16 23 L 28 18 L 28 25 L 16 30 Z" fill="currentColor" />
  <!-- Floating layer 1 (teal) -->
  <path d="M 4 13 L 16 18 L 28 13 L 16 8 Z" fill="#10B981" />
  <!-- Floating layer 2 (cyan) -->
  <path d="M 4 9 L 16 14 L 28 9 L 16 4 Z" fill="#38BDF8" />
</svg>

Why This Worked

The part that surprised me wasn’t the SVG output. It was the design thinking. The skill gives Claude context on what makes a good logo, but the actual creative decisions came from Claude understanding what OpenData is. When it knew the product was about unifying scattered public datasets, it went from generic network graphs to concepts like an open box with floating data layers, a broken circle representing “open,” stacked tables representing unified datasets. The right domain context plus design principles let Claude make real conceptual leaps instead of iterating on layout variations of one idea.

The iteration speed is what makes this practical. “Move the layers closer to the box” means changing four Y-coordinates across two <path> elements. Each round of feedback takes about 30 seconds, and first draft to final logo took about an hour.

Where Gemini Actually Shined

Earlier I was pretty hard on Gemini’s image generation for logo design. But once I had the final SVG, I went back to Gemini to create this article’s header image. And it nailed it.

3D rendered brand presentation of the OpenData logo
Gemini generated this 3D brand mockup from the final SVG. This is exactly what image generation is good at.

I gave it the finished logo and asked for a brand presentation mockup. Glass cube, size ramp cards, depth of field, moody lighting. First try. Claude can’t produce anything like this today. (It doesn’t do raster image generation.)

The lesson from this whole process was learning what each tool is actually good at. Gemini couldn’t design a logo (too much detail, wrong output format), but it’s incredible at creating rich visual scenes from existing assets. Claude can’t render photorealistic mockups, but it can design in SVG with real creative judgment coupled with the right guidance (the skill). They’re complementary. You just have to know when to reach for which one.

Try It

The skill is at github.com/tryopendata/skills. The gap between “Claude writing SVG markup” and “Claude designing logos” is basically just this skill.

Riley HilliardRiley Hilliard

Director of High-Fives

At 13, I secretly drilled holes in my parents' wood floor to route a 56k modem line to my bedroom for late-night Age of Empires marathons. That same scrappy curiosity carried through 3 acquisitions, 9 years as a LinkedIn Staff Engineer building infrastructure for 1B+ users, and now fuels my side projects, like OpenData.

Copied to clipboard

More from OpenData

Curious about open data? Start exploring.

OpenData makes public datasets discoverable, consistently formatted, and queryable without the usual headaches.

Try it out
  • Browse thousands of public datasets
  • Query any dataset with a simple API
  • Download as CSV, JSON, or Parquet