{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "@id": "https://skinrender.com/specs.json#dataset",
  "name": "Platform image specification reference",
  "description": "Image dimensions, file limits and format requirements for Discord, Twitch, YouTube, X, Instagram, TikTok, Steam and OBS. Every entry carries the date it was last verified and a link to the platform's own documentation.",
  "url": "https://skinrender.com/specs",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "creator": {"@type": "Person", "name": "Yamiru", "url": "https://yamiru.com"},
  "isAccessibleForFree": true,
  "inLanguage": "en",
  "dateModified": "2026-08-23",
  "verificationPolicy": "Each value is checked against the platform's own help documentation. Where a platform states a range rather than a single number, the range is reproduced instead of a single figure. Values we could not confirm at source are marked unverified rather than estimated.",
  "measurementTechnique": "Manual check against primary platform documentation",
  "platforms": [
    {
      "platform": "Discord",
      "docs": "https://support.discord.com/hc/en-us/articles/211866267",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Profile picture (avatar)", "upload": "1024x1024", "displayed": "32-128", "ratio": "1:1", "formats": ["PNG", "JPG", "GIF"], "note": "Rendered as a circle. Detail below roughly 4px of stroke disappears at 32px.", "tool": "/discord-pfp-maker", "confidence": "verified"},
        {"asset": "Server icon", "upload": "512x512", "displayed": "48 in server list", "ratio": "1:1", "formats": ["PNG", "JPG", "GIF"], "note": "Cropped to a circle by default, to a rounded square when hovered.", "tool": "/discord-server-icon", "confidence": "verified"},
        {"asset": "Profile banner", "upload": "680x240", "ratio": "17:6", "formats": ["PNG", "JPG", "GIF"], "note": "Requires Nitro. The avatar overlaps the lower left corner.", "tool": "/social-resize", "confidence": "verified"},
        {"asset": "Server invite splash", "upload": "1920x1080", "ratio": "16:9", "formats": ["PNG", "JPG"], "note": "Shown behind the invite dialog; needs server boost level 1.", "confidence": "verified"},
        {"asset": "Custom emoji", "upload": "128x128", "maxFileSize": "256 KB", "ratio": "1:1", "formats": ["PNG", "GIF"], "note": "Discord downscales to 32px in chat, so thin outlines vanish.", "confidence": "verified"}
      ]
    },
    {
      "platform": "Twitch",
      "docs": "https://help.twitch.tv/s/article/channel-page-setup",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Profile picture", "upload": "256x256", "maxFileSize": "10 MB", "ratio": "1:1", "formats": ["PNG", "JPG", "GIF"], "confidence": "verified"},
        {"asset": "Profile banner", "upload": "1200x480", "maxFileSize": "10 MB", "ratio": "5:2", "formats": ["PNG", "JPG"], "tool": "/twitch-banner-maker", "confidence": "verified"},
        {"asset": "Video player / offline banner", "upload": "1920x1080", "maxFileSize": "10 MB", "ratio": "16:9", "formats": ["PNG", "JPG"], "note": "This is what viewers see when you are not live.", "confidence": "verified"},
        {"asset": "Panel image", "upload": "320 wide", "maxFileSize": "2.9 MB", "formats": ["PNG", "JPG", "GIF"], "note": "Height is free; 320x100 keeps a panel row compact.", "tool": "/twitch-panel-maker", "confidence": "verified"},
        {"asset": "Emote", "upload": "112x112, 56x56, 28x28", "maxFileSize": "1 MB per size", "ratio": "1:1", "formats": ["PNG"], "note": "All three sizes are required; a missing tier fails the upload. Transparency expected.", "tool": "/twitch-emote-maker", "confidence": "verified"},
        {"asset": "Sub badge", "upload": "72x72, 36x36, 18x18", "ratio": "1:1", "formats": ["PNG"], "note": "Must stay legible at 18px, which rules out most detail.", "confidence": "verified"}
      ]
    },
    {
      "platform": "YouTube",
      "docs": "https://support.google.com/youtube/answer/2972003",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Channel art (banner)", "upload": "2560x1440", "safeArea": "1546x423", "maxFileSize": "6 MB", "ratio": "16:9", "formats": ["PNG", "JPG"], "note": "Only the 1546x423 centre is guaranteed visible on every device. Everything else is cropped on phones.", "tool": "/youtube-banner-maker", "confidence": "verified"},
        {"asset": "Thumbnail", "upload": "1280x720", "minimum": "640 wide", "maxFileSize": "2 MB", "ratio": "16:9", "formats": ["PNG", "JPG", "GIF"], "note": "Often displayed near 210x118 in feeds, so text under about 40px in the source is unreadable.", "confidence": "verified"},
        {"asset": "Profile picture", "upload": "800x800", "displayed": "98x98", "ratio": "1:1", "formats": ["PNG", "JPG"], "note": "Rendered as a circle.", "confidence": "verified"},
        {"asset": "Video watermark", "upload": "150x150", "maxFileSize": "1 MB", "ratio": "1:1", "formats": ["PNG"], "note": "Transparent PNG works best; it sits over the video.", "tool": "/watermark-maker", "confidence": "verified"}
      ]
    },
    {
      "platform": "X (Twitter)",
      "docs": "https://help.x.com/en/managing-your-account/x-profile-photos",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Profile picture", "upload": "400x400", "maxFileSize": "2 MB", "ratio": "1:1", "formats": ["PNG", "JPG"], "confidence": "verified"},
        {"asset": "Header", "upload": "1500x500", "maxFileSize": "5 MB", "ratio": "3:1", "formats": ["PNG", "JPG"], "note": "The avatar covers the lower left; keep that corner empty.", "confidence": "verified"},
        {"asset": "In-stream image", "upload": "1600x900", "ratio": "16:9", "formats": ["PNG", "JPG"], "confidence": "verified"}
      ]
    },
    {
      "platform": "Instagram",
      "docs": "https://help.instagram.com",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Profile picture", "upload": "320x320", "ratio": "1:1", "formats": ["PNG", "JPG"], "confidence": "verified"},
        {"asset": "Square post", "upload": "1080x1080", "ratio": "1:1", "formats": ["PNG", "JPG"], "confidence": "verified"},
        {"asset": "Portrait post", "upload": "1080x1350", "ratio": "4:5", "formats": ["PNG", "JPG"], "note": "Portrait takes the most vertical space in feed.", "confidence": "verified"},
        {"asset": "Story / Reel", "upload": "1080x1920", "ratio": "9:16", "formats": ["PNG", "JPG"], "note": "Keep text roughly 250px from top and bottom to clear the interface.", "confidence": "verified"}
      ]
    },
    {
      "platform": "TikTok",
      "docs": "https://support.tiktok.com",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Profile picture", "upload": "200x200", "ratio": "1:1", "formats": ["PNG", "JPG"], "note": "Displayed as a circle at roughly 100px.", "confidence": "verified"},
        {"asset": "Video / cover", "upload": "1080x1920", "ratio": "9:16", "formats": ["PNG", "JPG"], "note": "The right edge and lower third are covered by buttons and captions.", "confidence": "verified"}
      ]
    },
    {
      "platform": "Steam",
      "docs": "https://help.steampowered.com",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Avatar", "upload": "184x184", "ratio": "1:1", "formats": ["PNG", "JPG", "GIF"], "note": "Animated avatars require Steam Points.", "confidence": "verified"},
        {"asset": "Profile background", "upload": "1438x810", "ratio": "16:9", "formats": ["PNG", "JPG"], "confidence": "verified"}
      ]
    },
    {
      "platform": "OBS / stream canvas",
      "docs": "https://obsproject.com/help",
      "verified": "2026-08-23",
      "assets": [
        {"asset": "Base canvas", "upload": "1920x1080", "ratio": "16:9", "note": "Author overlays at canvas size. Authoring at 2560x1440 and downscaling softens thin lines.", "tool": "/obs-scene-builder", "confidence": "verified"},
        {"asset": "Full overlay", "upload": "1920x1080", "formats": ["PNG"], "note": "Transparency required, otherwise it hides the gameplay.", "tool": "/stream-overlay-maker", "confidence": "verified"},
        {"asset": "Webcam frame", "upload": "480x270 to 640x360", "ratio": "16:9", "formats": ["PNG"], "note": "Common sizes rather than a platform rule.", "confidence": "convention"}
      ]
    }
  ]
}
