Whether you’re managing advanced editorial workflows or trying to minimize friction for non-technical content editors, you’ve probably experienced the frustration of overly rigid forms, cluttered interfaces, and unnecessary fields.
At Strapi, we’ve always prioritized giving developers and content teams the flexibility to organize content as they see fit. That’s why we’re excited to introduce Conditional Fields in Strapi, a feature designed to make content entry easier, reduce errors, and create a smarter, more intuitive editing experience for everyone. With conditional logic, fields in the Content Manager can now be shown or hidden dynamically based on user input, giving editors the ability to focus only on what matters.
If you prefer a visual overview of this new Content Modelling feature, here is a quick video:
Why conditional fields?
Until now, in the content manager, Strapi displayed all fields in a content type regardless of their relevance. This led to several problems:
- Overwhelming UI: Editors were met with cluttered interfaces showing every possible field—even when irrelevant.
- Higher risk of errors: Users often entered data into fields they didn’t need.
- Inefficient workflows: Developers had to duplicate components or implement custom logic to simplify editing.
With Conditional Fields, you can now dynamically show or hide fields based on specific criteria like dropdown selections or checkbox values. This helps editors focus on the right fields at the right time.
What Are Conditional Fields?
Conditional Fields allow you to control the visibility of fields in the content editor interface. Depending on user input (such as a selected option or a checkbox), other fields can appear or disappear dynamically.
For example:
- If a user selects "Video" in a content type, only video-specific fields like "Video URL" will be shown.
- If a toggle “Confifure SEO” is set to true, a hidden “SEO” section becomes visible.
Key Benefits
Smarter UI, better UX
Say goodbye to clutter. Editors now interact only with the fields relevant to their context, creating a more intuitive and streamlined experience.
Increased efficiency
By reducing the cognitive load of navigating irrelevant fields, content teams can work faster and with more confidence.
Fewer mistakes
By hiding unnecessary fields, we minimize the risk of input errors, ensuring cleaner and more consistent data.
How it works
Strapi’s Conditional Fields are designed to be simple to use, yet powerful enough to cover a wide range of real-world content modeling needs.
Supported triggers
In this initial release, conditional logic can be triggered by the value of the following field types:
- Checkboxes (Boolean values)
- Enumeration fields (Dropdown selections)
These fields act as the “source” of truth for your condition rules. Based on what the user selects or toggles, Strapi will dynamically adjust the visibility of related fields in the form.
Supported conditions
To keep things intuitive and predictable, we’ve started with two foundational operators:
- “is” – when a value matches a specified target.
- “is not” – when a value does not match a specified target.
These operators give you the building blocks to create precise, context-aware logic for field visibility. For example:
- Show the “Video URL” field if the content type is “Video”.
- Hide the “Text Body” field if the content type is not “Article”.
- Display an “Advanced Configuration” section if the “Enable Advanced Settings” checkbox is checked.
Two ways to configure
Strapi provides two methods for defining conditional logic, making it accessible to both developers and content builders:
1. Visual UI in the Content-Type Builder
1Perfect for no-code users and editors, the Content-Type Builder now includes a simple interface for adding visibility rules. You can select a trigger field, choose a condition type ("is" or "is not"), and define the value that toggles the target field's visibility.
2.Schema-Level JSON Configuration
1For developers who prefer working in code or version-controlling their content models, conditional logic can also be defined directly in the `schema.json` file of the content type. This allows for advanced setups, better reproducibility, and easier collaboration via Git.
Use Cases in Action
Let’s bring this Content Modelling feature to life with a few real-world scenarios.
Use Case 1: toggling advanced settings with a checkbox
Imagine you're designing a form with both basic and advanced options. Most users only need the basics, but advanced users may want to dig deeper. Instead of overwhelming everyone with dozens of fields upfront, you add a simple checkbox labeled “Enable Advanced Settings.”
When this checkbox is selected, an "Advanced Configuration" component appears with additional, more technical options. If left unchecked, that section stays out of sight, creating a cleaner interface for everyday use. This makes the form adaptable to different user needs—keeping things streamlined for some, while offering depth to others.
And permissions are respected, too. Editors with the right access can toggle this setting, while others might only be allowed to view the current state, since the feature is fully integrated with Strapi Role Based Access Control (RBAC) System and its rules.
Use Case 2: tailoring fields based on media type
Picture a content team managing various media formats—articles, videos, and podcasts—all within a single content type. Each format requires different inputs: a text body for articles, a video link for videos, or an audio file for podcasts.
Instead of showing every possible input all the time, editors now select a value from a “Content Type” dropdown. Choosing “Article” reveals the "Text Body" field and hides everything else. Selecting “Video” surfaces a "Video URL" field. Opting for “Podcast” displays an "Audio Upload" field instead.
This targeted experience saves editors time, removes ambiguity, and ensures that only relevant data is captured. It’s a cleaner, more intelligent workflow—just as it should be.
Looking ahead
Conditional Fields is just the beginning of making Strapi Content Modeling more intelligent and adaptive. Future plans include:
- Support for more condition triggers (e.g., relations, admin roles)
- Nested condition logic
- Support for conditional fields on custom fields
Feedback wanted 🙌
We’re aiming to gather feedback from community members! Your input will help us improve and shape the roadmap ahead. If you’ve tried the feature, let us know what worked, what didn’t, and what you'd like to see next by sending an email to product-feedback@strapi.io
Try it out today
New to Strapi? Request our hosted interactive demo powered by Strapi, Next.js and Tailwind CSS.
Ready to implement it on your project? Upgrade to the latest Strapi version and start using Conditional Fields today!
Victor Coisne is VP Marketing at Strapi, the leading Open Source Headless CMS. As an open-source and developer community enthusiast, Victor has been working for Open Core B2B companies for more than a decade including 5+ years as Head of Community at Docker. In his free time, Victor enjoys spending time with friends, wine tasting, playing chess, tennis or soccer.