{
  "generatedAt": "2026-10-09",
  "maintainer": "https://namesniper.org",
  "platforms": [
    {
      "platform": "instagram",
      "displayName": "Instagram",
      "username": {
        "minLength": 1,
        "maxLength": 30,
        "pattern": "^(?!.*\\.\\.)(?!\\.)(?!.*\\.$)[a-zA-Z0-9._]+$",
        "allowedCharacters": "letters, numbers, periods (.), underscores (_) - no consecutive periods, cannot start or end with a period",
        "caseSensitive": false,
        "extraRules": [
          "Cannot start or end with a period",
          "No two consecutive periods"
        ]
      },
      "bioMaxLength": 150,
      "source": "https://www.instagram.com/accounts/emailsignup/",
      "verifiedAt": "2026-10-02"
    },
    {
      "platform": "tiktok",
      "displayName": "TikTok",
      "username": {
        "minLength": 2,
        "maxLength": 24,
        "pattern": "^(?!.*\\.$)[a-zA-Z0-9._]+$",
        "allowedCharacters": "letters, numbers, underscores (_) and periods (.) - cannot end with a period",
        "caseSensitive": false,
        "extraRules": [
          "Cannot end with a period"
        ]
      },
      "displayNameMaxLength": 30,
      "source": "https://www.tiktok.com/support/faq_detail?id=7581821550156962315",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "twitter",
      "displayName": "X (Twitter)",
      "username": {
        "minLength": 5,
        "legacyMinLength": 1,
        "maxLength": 15,
        "pattern": "^[a-zA-Z0-9_]+$",
        "allowedCharacters": "letters, numbers, and underscores (_) only",
        "caseSensitive": false,
        "extraRules": [
          "Usernames containing \"Admin\" or X's own brand name cannot be claimed, except by official X accounts",
          "No spaces, hyphens, or symbols other than underscore"
        ]
      },
      "displayNameMaxLength": 50,
      "bioMaxLength": 160,
      "source": "https://help.x.com/en/managing-your-account/change-x-handle",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "youtube",
      "displayName": "YouTube",
      "username": {
        "minLength": 3,
        "maxLength": 30,
        "pattern": "^(?![_\\-.·])[\\p{L}\\p{M}\\p{N}_\\-.·]+(?<![_\\-.·])$",
        "allowedCharacters": "letters and numbers in any of YouTube's 75 supported languages, underscores (_), hyphens (-), periods (.), middle dot (·) - cannot start or end with a separator",
        "caseSensitive": false,
        "extraRules": [
          "Cannot start or end with underscore, hyphen, period, or middle dot",
          "Cannot look URL-like or phone-number-like",
          "Cannot mix left-to-right and right-to-left scripts (except trailing digits)"
        ]
      },
      "bioMaxLength": 1000,
      "source": "https://support.google.com/youtube/answer/11585688",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "reddit",
      "displayName": "Reddit",
      "username": {
        "minLength": 3,
        "maxLength": 20,
        "pattern": "^[a-zA-Z0-9_-]+$",
        "allowedCharacters": "letters, numbers, underscores (_), hyphens (-)",
        "caseSensitive": false,
        "extraRules": [
          "A username can never be changed, not even its capitalization",
          "Deleted usernames are never reused"
        ]
      },
      "source": "https://support.reddithelp.com/hc/en-us/articles/204579479-Can-I-change-my-username",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "telegram",
      "displayName": "Telegram",
      "username": {
        "minLength": 5,
        "legacyMinLength": 4,
        "maxLength": 32,
        "pattern": "^[a-zA-Z](?!.*__)(?:[a-zA-Z0-9_]*[a-zA-Z0-9])?$",
        "allowedCharacters": "letters, numbers, underscores (_) - must start with a letter, no consecutive or trailing underscores",
        "caseSensitive": false,
        "extraRules": [
          "Must start with a letter (cannot start with a digit or underscore)",
          "Cannot end with an underscore",
          "No consecutive underscores"
        ]
      },
      "bioMaxLength": 70,
      "source": "https://core.telegram.org/method/account.updateUsername",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "github",
      "displayName": "GitHub",
      "username": {
        "minLength": 1,
        "maxLength": 39,
        "pattern": "^(?!-)(?!.*--)[a-zA-Z0-9-]+(?<!-)$",
        "allowedCharacters": "letters, numbers, hyphens (-) - no leading, trailing, or consecutive hyphens",
        "caseSensitive": false,
        "extraRules": [
          "Cannot begin or end with a hyphen",
          "Cannot contain consecutive hyphens",
          "Users and organizations share one namespace"
        ]
      },
      "bioMaxLength": 160,
      "source": "https://docs.github.com/en/enterprise-cloud@latest/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "linkedin",
      "displayName": "LinkedIn",
      "username": {
        "minLength": 3,
        "maxLength": 100,
        "pattern": "^[a-zA-Z0-9-]+$",
        "allowedCharacters": "letters, numbers, hyphens (-)",
        "caseSensitive": false,
        "extraRules": [
          "No spaces, symbols, or special characters",
          "Cannot contain the word \"linkedin\"",
          "Up to 5 URL changes per 6 months; an unlinked URL can be claimed by others after 7 days"
        ]
      },
      "source": "https://www.linkedin.com/help/linkedin/answer/a542685/manage-your-public-profile-url",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "npm",
      "displayName": "npm",
      "username": {
        "minLength": 1,
        "maxLength": 214,
        "pattern": "^(?!\\.)[a-z0-9._~!*()-]+$",
        "allowedCharacters": "lowercase letters, numbers and hyphens (-)",
        "caseSensitive": true,
        "extraRules": [
          "Lowercase only - uppercase is rejected, not case-folded",
          "Cannot start with a period (.)"
        ]
      },
      "source": "https://docs.npmjs.com/creating-a-new-npm-user-account/",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "twitch",
      "displayName": "Twitch",
      "username": {
        "minLength": 4,
        "legacyMinLength": 3,
        "maxLength": 25,
        "pattern": "^[a-zA-Z0-9_]+$",
        "allowedCharacters": "letters, numbers, underscores (_)",
        "caseSensitive": false,
        "extraRules": [
          "Your display name is your username with different capitalization"
        ]
      },
      "displayNameMaxLength": 25,
      "bioMaxLength": 300,
      "source": "https://help.twitch.tv/s/article/creating-an-account-with-twitch?language=en_US",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "threads",
      "displayName": "Threads",
      "username": {
        "minLength": 1,
        "maxLength": 30,
        "pattern": "^(?!.*\\.\\.)(?!\\.)(?!.*\\.$)[a-zA-Z0-9._]+$",
        "allowedCharacters": "letters, numbers, periods (.), underscores (_) - no consecutive periods, cannot start or end with a period",
        "caseSensitive": false,
        "extraRules": [
          "Cannot start or end with a period",
          "No consecutive periods"
        ]
      },
      "source": "https://help.instagram.com/1747515265645443",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "bluesky",
      "displayName": "Bluesky",
      "username": {
        "minLength": 3,
        "maxLength": 253,
        "pattern": "^(?:[a-zA-Z0-9][a-zA-Z0-9-]{1,16}[a-zA-Z0-9]|[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+)$",
        "allowedCharacters": "letters, numbers, hyphens (-) - case-insensitive (stored lowercase). Short form like \"alice\" (auto-appends .bsky.social) or full DNS like \"alice.bsky.social\"",
        "caseSensitive": false,
        "extraRules": [
          "Full form: DNS-style, segments cannot start or end with a hyphen",
          "Per-segment max 63 characters; the top-level domain cannot start with a digit"
        ]
      },
      "displayNameMaxLength": 64,
      "bioMaxLength": 256,
      "source": "https://atproto.com/specs/handle",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "pinterest",
      "displayName": "Pinterest",
      "username": {
        "minLength": 3,
        "maxLength": 30,
        "pattern": "^(?=.*[a-zA-Z])[a-zA-Z0-9_]+$",
        "allowedCharacters": "letters, numbers, underscores (_) - must include at least one letter",
        "caseSensitive": false,
        "extraRules": [
          "No spaces, punctuation, or special characters",
          "Cannot be made up of just numbers"
        ]
      },
      "bioMaxLength": 500,
      "source": "https://help.pinterest.com/en/article/edit-your-profile",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "snapchat",
      "displayName": "Snapchat",
      "username": {
        "minLength": 3,
        "maxLength": 15,
        "pattern": "^[a-zA-Z](?!.*[._-].*[._-])[a-zA-Z0-9._-]*[a-zA-Z0-9]$",
        "allowedCharacters": "letters, numbers and one hyphen (-), underscore (_) or period (.) - must start with a letter and end with a letter or digit",
        "caseSensitive": false,
        "extraRules": [
          "Must begin with a letter",
          "Must end with a letter or digit",
          "Only one hyphen, underscore or period",
          "Cannot include or be a phone number"
        ]
      },
      "displayNameMaxLength": 30,
      "source": "https://help.snapchat.com/hc/en-us/articles/7012349845140-How-do-I-change-my-Snapchat-username",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "roblox",
      "displayName": "Roblox",
      "username": {
        "minLength": 3,
        "maxLength": 20,
        "pattern": "^(?!_)(?!.*_.*_)[a-zA-Z0-9_]+(?<!_)$",
        "allowedCharacters": "letters, numbers, at most one underscore (_) - not as the first or last character",
        "caseSensitive": false,
        "extraRules": [
          "Maximum one underscore, never first or last",
          "No spaces, periods, or hyphens",
          "Names are filtered for appropriateness at signup"
        ]
      },
      "source": "https://en.help.roblox.com/hc/en-us/articles/4412614080532-Xbox-Error-901",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "kick",
      "displayName": "Kick",
      "username": {
        "minLength": 4,
        "legacyMinLength": 3,
        "maxLength": 25,
        "pattern": "^[a-zA-Z0-9_]+$",
        "allowedCharacters": "letters, numbers, and underscores (_)",
        "caseSensitive": false,
        "extraRules": []
      },
      "source": "https://docs.kick.com/apis/channels",
      "verifiedAt": "2026-08-17"
    },
    {
      "platform": "substack",
      "displayName": "Substack",
      "username": {
        "minLength": 4,
        "maxLength": 32,
        "pattern": "^[a-zA-Z0-9]+$",
        "allowedCharacters": "letters and numbers only",
        "caseSensitive": false,
        "extraRules": [
          "No hyphens, underscores or periods",
          "A changed handle is freed for anyone to claim"
        ]
      },
      "source": "https://support.substack.com/hc/en-us/articles/15574565677204-What-are-Substack-Handles",
      "verifiedAt": "2026-10-01"
    },
    {
      "platform": "linktree",
      "displayName": "Linktree",
      "username": {
        "minLength": 1,
        "maxLength": 50,
        "pattern": "^[a-zA-Z0-9._-]+$",
        "allowedCharacters": "letters, numbers, periods (.), underscores (_), hyphens (-)",
        "caseSensitive": false,
        "extraRules": [
          "Can be changed once every 7 days"
        ]
      },
      "source": "https://linktr.ee/help/en/articles/5434119-change-your-linktree-username",
      "verifiedAt": "2026-10-01"
    }
  ]
}