allsvgicons.com
Free SVG logo maker and SVG logo generator. Turn any of 330k+ icons into an icon logo, recolour it, and export SVG or PNG. No sign-up, no watermark.
First seen 2026-08-27 · Last seen 2026-08-27 · Source: webmcp.com
Answer 3 · Act 3 · Transact 0 · Score: Not yet scored
Tool inspector
update_logo_maker_state
Smart partial editor updates: modifies background, applies authentic brand presets (e.g. "instagram", "facebook", "spotify", "stripe", "linear", "supabase"), toggles safe zone keylines, adds new layers, updates existing layers (by ID or 0-based index), removes layers, clears layers, or updates selection without needing to re-send the whole state.
Page: /
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
canvasSize |
object | no | Partial canvas size update. |
background |
object | no | Logo background configuration. Supported types: solid, gradient, radial. |
applyBrand |
string | no | Apply an authentic real-world brand preset style (e.g. "instagram", "facebook", "spotify", "duolingo", "youtube", "whatsapp", "discord", "stripe", "linear", "supabase", "raycast", "netflix", "apple", "github", "google", "figma", "airbnb", "twitch", "slack"). |
showSafeZone |
boolean | no | Toggle Android & iOS app icon safe zone keylines overlay. |
safeZoneRatio |
number | no | Safe zone keyline diameter ratio (default 0.66). |
addLayers |
array | no | New layers to append on top of existing layers. Missing fields default to centered position and standard styles. |
updateLayers |
array | no | Modifications to existing layers (targeted by id or 0-based index). |
removeLayers |
array | no | Array of layer IDs or 0-based index strings to remove. |
clearLayers |
boolean | no | If true, clears all current layers before applying addLayers. |
selectedLayerId |
string | no | Layer ID to select, or empty string / null to deselect all layers. |
includeSvg |
boolean | no | If true, returns rendered SVG string in response. |
Raw JSON schema
{
"type": "object",
"properties": {
"canvasSize": {
"type": "object",
"description": "Partial canvas size update.",
"properties": {
"width": {
"type": "number",
"description": "Canvas width in pixels."
},
"height": {
"type": "number",
"description": "Canvas height in pixels."
}
}
},
"background": {
"type": "object",
"description": "Logo background configuration. Supported types: solid, gradient, radial.",
"properties": {
"type": {
"type": "string",
"enum": [
"solid",
"gradient",
"radial"
]
},
"solidColor": {
"type": "string",
"description": "Hex or CSS color for solid background."
},
"gradientColors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of colors for gradient/radial background."
},
"gradientPositions": {
"type": "array",
"items": {
"type": "number"
},
"description": "Array of stop percentages (0 to 100) for each color."
},
"gradientDirection": {
"type": "string",
"description": "CSS gradient direction, e.g. \"to right\", \"to bottom right\", \"to top\"."
},
"noise": {
"type": "number",
"description": "Noise texture intensity from 0 to 1."
},
"borderRadius": {
"type": "number",
"description": "Corner radius in pixels."
},
"pattern": {
"type": "string",
"enum": [
"none",
"grid",
"dots",
"checker",
"lines",
"diagonal",
"circles",
"zigzag"
],
"description": "Pattern texture overlay."
},
"patternColor": {
"type": "string",
"description": "Pattern overlay color."
},
"patternOpacity": {
"type": "number",
"description": "Pattern overlay opacity (0 to 1)."
},
"shape": {
"type": "string",
"enum": [
"rectangle",
"circle",
"squircle"
],
"description": "Canvas clipping shape."
},
"radialCenterX": {
"type": "number",
"description": "Radial gradient center X % (0 to 100)."
},
"radialCenterY": {
"type": "number",
"description": "Radial gradient center Y % (0 to 100)."
},
"radialRadius": {
"type": "number",
"description": "Radial gradient radius % (0 to 100)."
},
"borderWidth": {
"type": "number",
"description": "Border outline width in pixels (0 to 24)."
},
"borderColor": {
"type": "string",
"description": "Border outline hex/CSS color."
},
"borderStyle": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted",
"double"
],
"description": "Border outline style."
}
}
},
"applyBrand": {
"type": "string",
"description": "Apply an authentic real-world brand preset style (e.g. \"instagram\", \"facebook\", \"spotify\", \"duolingo\", \"youtube\", \"whatsapp\", \"discord\", \"stripe\", \"linear\", \"supabase\", \"raycast\", \"netflix\", \"apple\", \"github\", \"google\", \"figma\", \"airbnb\", \"twitch\", \"slack\")."
},
"showSafeZone": {
"type": "boolean",
"description": "Toggle Android & iOS app icon safe zone keylines overlay."
},
"safeZoneRatio": {
"type": "number",
"description": "Safe zone keyline diameter ratio (default 0.66)."
},
"addLayers": {
"type": "array",
"description": "New layers to append on top of existing layers. Missing fields default to centered position and standard styles.",
"items": {
"type": "object",
"description": "Logo layer object.",
"properties": {
"id": {
"type": "string",
"description": "Optional layer ID (UUID generated if omitted)."
},
"iconName": {
"type": "string",
"description": "Icon identifier in pack:name format (e.g. \"lucide:sparkles\", \"solar:shield-bold\", \"ph:coffee-fill\")."
},
"url": {
"type": "string",
"description": "Direct SVG URL. If omitted, resolved from iconName."
},
"x": {
"type": "number",
"description": "Canvas horizontal position in pixels."
},
"y": {
"type": "number",
"description": "Canvas vertical position in pixels."
},
"scale": {
"type": "number",
"description": "Scale multiplier (default 1.6)."
},
"rotation": {
"type": "number",
"description": "Rotation angle in degrees (-180 to 180)."
},
"fill": {
"type": "string",
"description": "Fill hex/CSS color or \"none\"."
},
"stroke": {
"type": "string",
"description": "Stroke hex/CSS color or \"none\"."
},
"strokeWidth": {
"type": "number",
"description": "Stroke width override in pixels."
},
"strokeDasharray": {
"type": "string",
"description": "Stroke dash pattern, e.g. \"none\", \"6 4\", \"2 4\"."
},
"overwriteFill": {
"type": "boolean",
"description": "Force overwrite icon original fill."
},
"overwriteStroke": {
"type": "boolean",
"description": "Force overwrite icon original stroke."
},
"opacity": {
"type": "number",
"description": "Layer opacity from 0 to 1."
},
"visible": {
"type": "boolean",
"description": "Layer visibility."
},
"locked": {
"type": "boolean",
"description": "Lock layer from canvas drag/selection."
},
"shadowColor": {
"type": "string",
"description": "Drop shadow color."
},
"shadowBlur": {
"type": "number",
"description": "Drop shadow blur radius in pixels (0 for hard shadow)."
},
"shadowOffsetX": {
"type": "number",
"description": "Drop shadow horizontal offset."
},
"shadowOffsetY": {
"type": "number",
"description": "Drop shadow vertical offset."
},
"shadowOpacity": {
"type": "number",
"description": "Drop shadow opacity from 0 to 1."
}
},
"required": [
"iconName"
]
}
},
"updateLayers": {
"type": "array",
"description": "Modifications to existing layers (targeted by id or 0-based index).",
"items": {
"type": "object",
"description": "Partial layer updates. Match the target layer by id or 0-based index.",
"properties": {
"id": {
"type": "string",
"description": "Target layer ID."
},
"index": {
"type": "number",
"description": "Target layer 0-based index (0 = bottom-most layer)."
},
"iconName": {
"type": "string",
"description": "Replace icon with a new pack:icon name."
},
"url": {
"type": "string",
"description": "Direct SVG URL override."
},
"x": {
"type": "number",
"description": "Canvas horizontal position."
},
"y": {
"type": "number",
"description": "Canvas vertical position."
},
"scale": {
"type": "number",
"description": "Scale multiplier."
},
"rotation": {
"type": "number",
"description": "Rotation angle in degrees."
},
"fill": {
"type": "string",
"description": "Fill hex/CSS color or \"none\"."
},
"stroke": {
"type": "string",
"description": "Stroke hex/CSS color or \"none\"."
},
"strokeWidth": {
"type": "number",
"description": "Stroke width in pixels."
},
"strokeDasharray": {
"type": "string",
"description": "Stroke dash pattern, e.g. \"none\", \"6 4\", \"2 4\"."
},
"overwriteFill": {
"type": "boolean",
"description": "Force overwrite fill."
},
"overwriteStroke": {
"type": "boolean",
"description": "Force overwrite stroke."
},
"opacity": {
"type": "number",
"description": "Opacity from 0 to 1."
},
"visible": {
"type": "boolean",
"description": "Layer visibility."
},
"locked": {
"type": "boolean",
"description": "Layer lock status."
},
"shadowColor": {
"type": "string",
"description": "Drop shadow color."
},
"shadowBlur": {
"type": "number",
"description": "Drop shadow blur radius (0 for hard shadow)."
},
"shadowOffsetX": {
"type": "number",
"description": "Drop shadow X offset."
},
"shadowOffsetY": {
"type": "number",
"description": "Drop shadow Y offset."
},
"shadowOpacity": {
"type": "number",
"description": "Drop shadow opacity from 0 to 1."
}
}
}
},
"removeLayers": {
"type": "array",
"description": "Array of layer IDs or 0-based index strings to remove.",
"items": {
"type": "string"
}
},
"clearLayers": {
"type": "boolean",
"description": "If true, clears all current layers before applying addLayers."
},
"selectedLayerId": {
"type": "string",
"description": "Layer ID to select, or empty string / null to deselect all layers."
},
"includeSvg": {
"type": "boolean",
"description": "If true, returns rendered SVG string in response."
}
}
}
Similar websites
webroom.openai.chatgpt.site
A private, browser-based photo editor with precise manual controls and agent-ready WebMCP tools.
fieldwork-beat-machine.openai.chatgpt.site
A tactile 12-voice beat machine with classic drum-machine grooves, deep synths, keyboard and touch pads, WebMCP controls, and stereo WAV export.
pixly.gg
Minecraft server hosting with no subscription — pay for the time your server is online. Java + Bedrock crossplay, 1-click mods, 10 free hours to try, no card.
quokkapix.com
Open the QuokkaPix image editor app. Resize, crop, compress, convert, remove backgrounds, watermark and run batch workflows locally in your browser.