---
title: "Controlling Field Visibility with Logic"
url: "https://help.formsfly.com/en/article/controlling-field-visibility-with-logic"
language: "en"
last_updated: "2026-08-12T14:26:38.110Z"
---

# Controlling Field Visibility with Logic

A great form feels like a conversation, not an interrogation. By controlling field visibility, you can create “branching” experiences that hide irrelevant questions and only show fields when they are actually needed. This keeps your forms clean, reduces user fatigue, and increases completion rates.

* * *

## In this article

-   [How Visibility Works](https://help.formsfly.com/en/article/controlling-field-visibility-with-logic#how-visibility-works)
-   [Step-by-Step: Showing a Field Based on an Answer](https://help.formsfly.com/en/article/controlling-field-visibility-with-logic#step-by-step:-showing-a-field-based-on-an-answer)
-   [Common Visibility Formulas](https://help.formsfly.com/en/article/controlling-field-visibility-with-logic#common-visibility-formulas)
-   [Design Tips](https://help.formsfly.com/en/article/controlling-field-visibility-with-logic#design-tips)

* * *

## How Visibility Works

Every field in the Form Designer has a **Visibility** property. This property is powered by a simple formula that must result in either **True** (Show) or **False** (Hide).

![](https://help.appenate.com/wp-content/uploads/2025/04/Untitled-Project-Time-0_00_03041-1-1024x114.png)

## Step-by-Step: Showing a Field Based on an Answer

Let’s use a common example: asking for hazard details only if the user confirms they saw a hazard.

1.  **Identify the Trigger Field:** Ensure your “trigger” question (e.g., *Do you see any hazards?*) has a clear **Data Name**. In this example, we’ll use `seeHazards`.
2.  **Add your Dependent Field:** Place the field you want to hide (e.g., a Text field for “Hazard Description”) directly below the trigger. Give it a Data Name like `hazardsDescription`.
3.  **Locate the Visibility Property:** Select the `hazardsDescription` field. In the properties panel on the right, scroll down to the **Advanced** section to find **Visibility**.
4.  **Apply the Logic:** Enter the following formula into the Visibility box:`{{seeHazards}} = 'Yes'`
5.  **Test and Save:** When the user selects “Yes,” the formula becomes **True** and the field appears. If they select “No” or leave it blank, the formula is **False** and the field remains hidden.

## Common Visibility Formulas

You can use different operators to handle various types of logic:

| **Scenario** | **Formula Example** |
| --- | --- |
| **Match a specific choice** | `{{fieldDataName}} = 'ChoiceValue'` |
| **Show if NOT a specific choice** | `{{fieldDataName}} != 'ChoiceValue'` |
| **Show if a number is greater than** | `{{amount}} > 100` |
| **Show if multiple conditions are met** | `{{seeHazards}} = 'Yes' AND {{riskLevel}} = 'High'` |

* * *

## Design Tips

-   **Page Visibility:** You can apply these same formulas to entire **Pages** in the Form Designer. If a user selects a specific category at the start, you can skip whole sections of the form that don’t apply to them.
-   **Default State:** Remember that fields are **visible by default** (an empty Visibility property defaults to True).
-   **Data Names Matter:** Always use descriptive Data Names. It’s much easier to write `{{hasInsurance}} = 'Yes'` than `{{field12}} = 'Yes'`.

* * *

**Need more advanced logic?** Check out the [Guide to Creating Formulas](https://help.formsfly.com/en/article/creating-a-formula) to learn about calculations, date comparisons, and complex “IF” statements.
