Empty states are instructions, not decoration
I used to think empty states were just polite design—a bit of reassurance when nothing's there yet. Then I noticed how often I'd stare at a blank field in a CMS, unsure what belonged in it, while the placeholder said something like "Add content here."
Empty states aren't filler. They're the exact moment someone needs to know what to do next.
What an empty state actually does
When a field, list, or section is empty, you have one chance to tell someone:
- What goes here
- What format it should take
- Why it matters (if it's optional)
Most CMSs waste this. They either say nothing, repeat the field label, or drop in generic encouragement. "No items yet!" doesn't help. "Start adding images" doesn't explain what kind.
The empty state is placeholder text taken seriously. It's the first instruction someone reads, before they've made a mistake.
Write the constraint, not the concept
For a "Featured Image" field, "Add an image" is true but useless. The person already knows it's an image field—the label told them that.
Better:
- "JPG or PNG, min. 1200px wide—appears at top of post"
- "Square headshot, 400×400px minimum"
- "Hero image for this section (1600×900px recommended)"
You're not being prescriptive for fun. You're preventing the moment where someone uploads a 300px thumbnail, publishes, and only then realizes it looks broken.
If the field is optional, say why you'd skip it: "Leave empty if this post has no main visual." That's permission and context at once.
Empty lists need even more clarity
A blank "Related Posts" section tempts people to link everything. An empty "Tags" field makes them wonder if tags are required.
For a repeating content block with zero entries:
- "Add a testimonial (name, quote, optional photo)"
- "No FAQs yet—add one to start building this section"
- "Press mentions appear here—leave empty if none"
The pattern: describe the unit, explain what happens when it's populated, acknowledge when empty is fine.
I've seen people fill optional fields with nonsense just because the empty state felt incomplete. Silence implies obligation. Explicit permission to leave it blank prevents that.
Match the empty state to the content type
A blog post's "Body" field can assume some knowledge. A custom "Sidebar Callout" field can't.
For the body: "Write your post content (markdown supported)" works.
For a sidebar widget: "Short promo or alert—2-3 sentences, appears on all pages in this section."
The less familiar the field, the more the empty state has to teach. Don't assume people remember what a field does after they've created three other posts. The empty state is the reminder they'll see every time they start fresh.
Test your empty states by ignoring your documentation
Open your CMS as if you've never used it. Look at an empty field. Can you fill it correctly without reading a style guide or asking someone?
If the answer is no, your empty state is decorative.
I rewrote the empty state for an "Author Bio" field from "Tell us about yourself" to "2-3 sentences, third person, focuses on expertise relevant to this topic." Publishing mistakes dropped. People stopped writing first-person novellas.
Empty states are cheap documentation. Write them like you won't be there to explain the field later—because you won't.
Where this fits in your process
When you're setting up CMS fields or content types, write the empty state right after you write the field label. Treat it as required field guidance, not an afterthought.
If your CMS doesn't support custom empty states, use the placeholder attribute. If it doesn't support that either, put the instruction in the field-level help text and keep the field itself blank by default.
The goal: someone fills the field correctly the first time, without hunting for instructions or guessing.
Empty states are your first line of content governance. They're also the easiest to fix. Start there.