How It Works
- Add your fact table and its columns. The values you want to analyze, like quantity or unit price. The diagram starts as a sample you can explore; your first table replaces it.
- Add dimensions, then branch them. Every dimension card has a + Sub-dimension button: click it to split a hierarchy level into its own table (products into categories, stores into regions). The key column linking each level is created automatically.
- Download the diagram. PNG for docs and slides, SVG for wikis and anything that scales. Drag tables to fine-tune the layout first.
What Is a Snowflake Schema?
A snowflake schema is a star schema with some (or all) of its dimensions normalized. Instead of one wide, flat table per dimension, hierarchy levels are split into their own tables: the products dimension keeps only product-level fields and links to a categories table, which could link to a departments table in turn. The branching shape gives the schema its name. Queries need more joins than in a star schema, but each hierarchy level is stored exactly once, so the data stays consistent and the dimension tables stay small.
Snowflake or Star?
If your dimensions are flat, keep it a star: it trades some storage (dimension data gets duplicated) for fewer joins and faster queries, which is why most analytics warehouses default to it. The Star Schema Creator is this same builder without the branching. Snowflake instead when hierarchy levels are large, shared between dimensions, or maintained independently — you get the storage and consistency back at the cost of an extra join.
Keep Working on Your Schema
The schema you build here is a real database schema. Open in VibeSchema hands it to the full schema tool, where you can edit the underlying DBML directly, evolve it with AI chat, and organize larger models into views. If you already have a schema in SQL or another format and just want a picture, use ER Diagram to Image instead.
Free, No Sign-Up
The Snowflake Schema Creator is free to use with no account required. Start building above.