> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flagsync.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating Flags

> Set up feature flags in FlagSync to manage and test variants.

## Creating a Feature Flag

Start by setting up a FlagSync project (try the 14-day free trial, no credit card needed), then create a flag via the Flags dashboard.

### Flag Configuration

<Steps>
  <Step title="Set It Up">
    * **Name**: A human-readable label (e.g., "Signup CTA")—editable later.
    * **Key**: A unique identifier (e.g., `signup-cta`) for code use.
    * **Description**: Optional summary of the flag’s purpose.

    <Frame>
      <img alt="Flag creation form filled out" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/flag-detailed.details.webp?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=970b197cf80b204f0c1b14b654cda0bd" width="565" height="356" data-path="images/flag-detailed.details.webp" />
    </Frame>
  </Step>

  <Step title="Select Type">
    <CardGroup>
      <Card title="Boolean" icon="toggle-on">
        <p>On/off switches</p>

        <br />

        <p>**Perfect for**:</p>
        <p>Enable/disable features</p>
        <p>Beta feature toggles</p>
      </Card>

      <Card title="String" icon="text">
        <p>Predefined options</p>

        <br />

        <p>**Common uses**:</p>
        <p>Theme: `light-mode`, `dark-mode`</p>
        <p>CTA: `Register`, `Join Now`</p>
      </Card>

      <Card title="Number" icon="hashtag">
        <p>Numeric values</p>

        <br />

        <p>**Common uses**:</p>
        <p>Rate limits: `1000`, `5000`, `10000`</p>
        <p>Image quality: `75`, `80`, `100`</p>
      </Card>

      <Card title="JSON" icon="brackets-curly">
        <p>Complex objects</p>

        <br />

        <p>**Common uses**:</p>
        <p>`{ "layout": "grid", "maxItems": 8 }`</p>
      </Card>
    </CardGroup>

    <Frame>
      <img alt="Flag types filled out" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/flag-detailed.types.webp?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=2543fd97a8632581f74945e3d3024775" width="565" height="105" data-path="images/flag-detailed.types.webp" />
    </Frame>
  </Step>

  <Step title="Variants">
    Define the variants to serve (e.g., `0.00`, `0.10`, `0.20` for `discount-rate`).

    <Frame>
      <img alt="Flag variants filled out" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/flag-detailed.variants.webp?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=df81b1f6735da6462a72930516156e26" width="566" height="396" data-path="images/flag-detailed.variants.webp" />
    </Frame>
  </Step>

  <Step title="Choose Default Variants">
    Set defaults for `discount-rate`:

    * **Enabled**: `0.20` (20% discount).
    * **Disabled**: `0.00` (no discount).

    <Frame>
      <img alt="Flag variants filled out" src="https://mintcdn.com/flagsync/dTCxWdoh9aH45uVC/images/flag-detailed.default-variants.webp?fit=max&auto=format&n=dTCxWdoh9aH45uVC&q=85&s=17c6bbf09a0eda7f9255a9699fdd5d2f" width="569" height="116" data-path="images/flag-detailed.default-variants.webp" />
    </Frame>

    <Tip>
      * When the flag is **on**, the **enabled** variant (e.g., `0.20`) is served unless overridden by targeting.
      * When the flag is **off**, the **disabled** variant (e.g., `0.00`) applies to all users.
    </Tip>
  </Step>

  <Step title="Save It">
    Click "Create Flag" to save.
  </Step>

  <Step title="Activate It">
    * Toggle the flag on or off to control its rollout.
    * Integrate with code via [Quickstart: Integrate the SDK](/quickstarts/sdk).
  </Step>
</Steps>

## Next Steps

* Configure targeting in [Targeting and Rollouts](/flags/targeting-and-rollouts).
* Run experiments in [Quickstart: Create an Experiment](/quickstarts/experiment).
