> For the complete documentation index, see [llms.txt](https://docs.incogniton.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incogniton.com/browser-and-browser-profiles/create-profiles-in-bulk.md).

# Create profiles in bulk

{% embed url="<https://youtu.be/QgFYrLAgudI?si=CHhUOGnDuuTgDcgO>" %}

Incogniton lets you create multiple browser profiles at once by importing a CSV file. Each row in the file becomes a new profile, making it the best approach for when you need to spin up 20, 50, or hundreds of accounts for a campaign, a client, or a new project.

### Prepare your CSV

Your file must include at least the `profile_name` column. Everything else is optional. Each row after the header becomes a new profile.

{% hint style="info" %}
The CSV file must include a header row. Imports without headers are not supported.
{% endhint %}

Before importing, make sure the values in your file match the accepted values listed in the column reference below. This is especially important for proxy values. If a proxy URL, username, or password is incorrect, the profile will still import, but the proxy connection won't work until you correct the values manually.

### Import your CSV

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH8yXxFJjKNEduZ4cdtjg%2Fuploads%2FlrYe12m8b7sqB8fgQiWs%2Fcreate-bulk-profiles-incogniton.mp4?alt=media&token=b6afbd4b-a252-46ed-80e9-2b01c6655833>" %}

{% stepper %}
{% step %}

#### Open the import dialog

Click the dropdown arrow next to **New profile** in the top right corner and select **Import from CSV**.
{% endstep %}

{% step %}

#### Add your CSV

Upload your file by clicking **Choose CSV file**, or paste your CSV content directly into the text area.

Once your data is loaded, the **Detected headers** panel shows which columns Incogniton recognised from your file. The **Possible headers** panel on the left lists all supported column names for reference.
{% endstep %}

{% step %}

#### Review the import

Click **Next**. You'll see a table of all the profiles about to be created. Check each row to make sure everything looks right. To remove a profile from the import before confirming, select it and click **Delete selected**.

When you're ready, click **Import**. A success notification confirms how many profiles were imported, and they appear in your profile list straight away.
{% endstep %}
{% endstepper %}

### Reference: Supported CSV columns

All supported columns are listed below. Only `profile_name` is required. Everything else is optional and falls back to Incogniton's default values if you leave it out.

#### Basic profile details

| Column                       | Accepted values               |
| ---------------------------- | ----------------------------- |
| `profile_name`               | Any text **(required)**       |
| `profile_notes`              | Any text                      |
| `simulated_operating_system` | `Windows` / `macOS` / `Linux` |

#### Free proxy

| Column                         | Accepted values                                              |
| ------------------------------ | ------------------------------------------------------------ |
| `unblocked_free_proxy_enabled` | `TRUE` / `FALSE`                                             |
| `unblocked_free_proxy_country` | `us` / `hk` / `br` / `nl` / `au` / `uk` / `de` / `in` / `ua` |

#### Custom proxy

| Column                  | Accepted values   |
| ----------------------- | ----------------- |
| `Proxy_connection_type` | `HTTP` / `SOCKS5` |
| `Proxy_proxy_url`       | Any text          |
| `Proxy_proxy_username`  | Any text          |
| `Proxy_proxy_password`  | Any text          |

#### Timezone

| Column                               | Accepted values         |
| ------------------------------------ | ----------------------- |
| `Timezone_fill_timezone_based_on_ip` | `true` / `false`        |
| `Timezone_timezone_name`             | Any valid timezone name |

#### WebRTC

| Column                   | Accepted values                 |
| ------------------------ | ------------------------------- |
| `WebRTC_set_external_ip` | `true` / `false`                |
| `WebRTC_behavior`        | `altered` / `disabled` / `real` |
| `WebRTC_public_ip`       | Any IP address                  |
| `WebRTC_local_ip`        | Any IP address                  |

#### Geolocation

| Column                                       | Accepted values                 |
| -------------------------------------------- | ------------------------------- |
| `Geolocation_behavior`                       | `Block` / `Allow` / `Prompt`    |
| `Geolocation_fill_geolocation_based_on_ip`   | `true` / `false`                |
| `Geolocation_location_information_longitude` | Any double between -180 and 180 |
| `Geolocation_location_information_latitude`  | Any double between -90 and 90   |
| `Geolocation_location_information_accuracy`  | Any positive integer            |

#### Navigator

| Column                              | Accepted values              |
| ----------------------------------- | ---------------------------- |
| `Navigator_user_agent`              | Any text                     |
| `Navigator_screen_resolution`       | e.g. `1920x1080`             |
| `Navigator_languages`               | Any text                     |
| `Navigator_platform`                | Any text                     |
| `Navigator_do_not_track`            | `true` / `false`             |
| `Navigator_hardware_concurrency`    | `2` / `4` / `6` / `8` / `16` |
| `Navigator_device_memory`           | `2` / `4` / `6` / `8`        |
| `Navigator_useragent_always_latest` | `true` / `false`             |

#### Fonts

| Column                           | Accepted values            |
| -------------------------------- | -------------------------- |
| `Fonts_enable_font_list_masking` | `true` / `false`           |
| `Fonts_browser_font_list`        | Comma-separated font names |

#### Media devices

| Column                               | Accepted values      |
| ------------------------------------ | -------------------- |
| `Media_devices_enable_media_masking` | `true` / `false`     |
| `Media_devices_video_outputs`        | Any positive integer |
| `Media_devices_audio_inputs`         | Any positive integer |
| `Media_devices_audio_outputs`        | Any positive integer |

#### Hardware

| Column                           | Accepted values           |
| -------------------------------- | ------------------------- |
| `Hardware_Canvas_behavior`       | `noise` / `block` / `off` |
| `Hardware_AudioContext_behavior` | `noise` / `off`           |
| `Hardware_WebGL_behavior`        | `noise` / `off`           |
| `Hardware_WebGL_meta_behavior`   | `mask` / `off`            |
| `Hardware_WebGL_meta_vendor`     | Any text                  |
| `Hardware_WebGL_meta_renderer`   | Any text                  |

#### Other

| Column                      | Accepted values             |
| --------------------------- | --------------------------- |
| `Other_active_session_lock` | `true` / `false`            |
| `Other_custom_args_enabled` | `true` / `false`            |
| `Other_custom_args`         | Any text                    |
| `cookie`                    | Base64 encoded JSON cookies |
