7
stars
28
commits
3
linked in READMEs
Dec 3, 2025
updated
This dataset contains benchmark data for SVG generation tasks.
| Feature | Type | Description |
|---|---|---|
| id | string | MD5 hash of the input (image bytes or text) |
| image | image | Input image for image2svg task (None for text2svg) |
| text | string | Input text for text2svg task (empty for image2svg) |
| task_type | string | Task type: "image2svg" or "text2svg" |
| type | string | Category: "icon" or "illustration" |
| url | string | Source URL of the data |
MMSVGBench is a purely synthetic benchmark designed to rigorously evaluate the generalization capabilities of SVG generation models. All prompts and images are generated from scratch using GPT models, ensuring the benchmark data is non-reproducible and unseen during model training.
The text prompts are generated using carefully designed meta-prompts with GPT, covering two complexity levels:
You are a world-class prompt engineer and visual concept designer specializing in
evaluating and benchmarking text-to-SVG generation models. Your goal is to produce
diverse, creative, and challenging prompts that can test a model's SVG generation capabilities.
Task: Generate prompts for SVG generation at the icon level — each SVG should be simple
enough to be recognizable as a single icon, but rich enough to test compositional
reasoning, abstraction, and vector expressiveness.
Requirements:
1. Diversity of content: Cover a broad range of semantic categories: Objects, tools,
animals, nature, symbols, UI icons, abstract shapes, emotions, cultural motifs, etc.
Include both literal and conceptual ideas (e.g., "clock" vs. "time passing").
2. Diversity of style: Vary stylistic cues such as: minimalist, flat, outline, glyph,
doodle, isometric, retro, pixel-like, ornamental, neon, abstract, corporate,
hand-drawn, futuristic.
3. Controlled complexity: Maintain an SVG-appropriate complexity — no photorealistic
or scene-level descriptions. Each prompt should correspond to a single icon or
small composition of 2–4 elements.
4. Output format: Return prompts as a numbered list (150 in total). Mix the above
types and styles naturally.
Example Icon Prompts:
You are a world-class prompt engineer and visual concept designer specializing in
evaluating and benchmarking text-to-SVG generation models. Your goal is to produce
diverse, creative, and challenging prompts that can test a model's ability to generate
illustration-level SVGs.
Task: Generate prompts for SVG illustrations — each illustration should be more complex
than an icon, containing 1-3 interacting elements, showing composition, perspective,
and layered structure, while still maintaining clear readability and a coherent visual theme.
Requirements:
1. Diversity of content: Cover a broad range of semantic categories: scenes, objects,
animals, humans, nature, symbols, abstract concepts, emotions, cultural motifs,
or narrative vignettes, while keeping compositions minimal.
2. Diversity of style: Vary stylistic cues such as: minimalist illustration, flat vector,
outline, glyph, doodle, isometric, retro, pixel-like, ornamental, neon, abstract,
corporate, hand-drawn, futuristic, semi-realistic, watercolor, comic, storybook,
fantasy, or surreal.
3. Controlled complexity: Illustration-level complexity: 1-3 elements interacting;
Focus on composition, perspective, layering, and visual balance; Avoid photorealism
or scene-level chaos; maintain readability as a vector illustration.
4. Output format: Return prompts as a numbered list (150 in total), mixing keyword,
descriptive, and hybrid prompts naturally.
Example Illustration Prompts:
The image-to-SVG benchmark follows a similar two-stage generation pipeline:
This ensures the reference images are:
The synthetic nature of MMSVGBench provides several key advantages:
| Advantage | Description |
|---|---|
| True Generalization Test | Models cannot have seen these exact samples during training |
| Controlled Diversity | Systematic coverage of styles, complexities, and semantic categories |
| Reproducibility | While individual samples are unique, the generation methodology is documented |
| Fairness | No model has an unfair advantage from training data overlap |
Quantitative results between OmniSVG and current state-of-the-art text-to-SVG and image-to-SVG baseline methods. Bold numbers and underlined numbers represent the best and second best performance respectively. Our OmniSVG model demonstrates superior performance compared to SOTA SVG generation baselines.
| Methods | # Tokens | FID↓ | CLIP↑ | Aesthetic↑ | HPS↑ |
|---|---|---|---|---|---|
| Vectorfusion | 66.2k | 250.77 | 0.240 | 4.76 | 0.237 |
| SVGDreamer | 132.0k | 308.94 | 0.207 | 4.26 | 0.221 |
| Chat2SVG | 0.6k | 190.87 | 0.299 | 4.41 | 0.247 |
| IconShop | 2.0k | 213.28 | 0.288 | 4.55 | 0.244 |
| OmniSVG(4B) | 3.8k | 137.40 | 0.275 | 4.62 | 0.244 |
| OmniSVG-L(8B) | 5.7k | 130.56 | 0.276 | 4.60 | 0.242 |
| Methods | # Tokens | DINO↑ | SSIM↑ | LPIPS↓ | MSE↓ |
|---|---|---|---|---|---|
| LIVE | 52.5k | 0.932 | 0.943 | 0.106 | 0.011 |
| DiffVG | 322.0k | 0.940 | 0.954 | 0.066 | 0.002 |
| GPT-4o | 0.3k | 0.860 | 0.792 | 0.403 | 0.124 |
| StarVector(8B) | 2.0k | 0.895 | 0.881 | 0.231 | 0.059 |
| Vtracer | 52.4k | 0.993 | 0.966 | 0.039 | 0.002 |
| OmniSVG(4B) | 3.8k | 0.993 | 0.950 | 0.050 | 0.006 |
| OmniSVG-L(8B) | 5.7k | 0.922 | 0.893 | 0.235 | 0.040 |
| Methods | # Tokens | FID↓ | CLIP↑ | Aesthetic↑ | HPS↑ |
|---|---|---|---|---|---|
| Vectorfusion | 66.1k | 253.94 | 0.185 | 4.94 | 0.226 |
| SVGDreamer | 132.0k | 419.70 | 0.201 | 4.37 | 0.221 |
| Chat2SVG | 1.0k | 210.03 | 0.283 | 4.45 | 0.250 |
| IconShop | 2.6k | 107.93 | 0.233 | 4.46 | 0.224 |
| OmniSVG(4B) | 5.8k | 154.37 | 0.226 | 4.56 | 0.232 |
| OmniSVG-L(8B) | 6.9k | 138.42 | 0.231 | 4.51 | 0.232 |
| Methods | # Tokens | DINO↑ | SSIM↑ | LPIPS↓ | MSE↓ |
|---|---|---|---|---|---|
| LIVE | 52.2k | 0.935 | 0.950 | 0.111 | 0.008 |
| DiffVG | 322.0k | 0.945 | 0.955 | 0.065 | 0.001 |
| GPT-4o | 0.4k | 0.875 | 0.854 | 0.373 | 0.077 |
| StarVector(8B) | 2.6k | 0.877 | 0.900 | 0.238 | 0.046 |
| Vtracer | 57.6k | 0.994 | 0.966 | 0.035 | 0.002 |
| OmniSVG(4B) | 5.8k | 0.899 | 0.906 | 0.237 | 0.034 |
| OmniSVG-L(8B) | 6.9k | 0.905 | 0.907 | 0.231 | 0.031 |
from datasets import load_dataset
# Load the dataset
dataset = load_dataset("OmniSVG/MMSVGBench")
# Access image2svg split
image2svg_data = dataset["image2svg"]
# Access text2svg split
text2svg_data = dataset["text2svg"]
# Example: iterate over image2svg data
for sample in image2svg_data:
print(f"ID: {sample['id']}")
print(f"Type: {sample['type']}")
print(f"URL: {sample['url']}")
# sample['image'] is a PIL Image
28 commits
7
stars
28
commits
3
linked in READMEs
Dec 3, 2025
updated
This dataset contains benchmark data for SVG generation tasks.
| Feature | Type | Description |
|---|---|---|
| id | string | MD5 hash of the input (image bytes or text) |
| image | image | Input image for image2svg task (None for text2svg) |
| text | string | Input text for text2svg task (empty for image2svg) |
| task_type | string | Task type: "image2svg" or "text2svg" |
| type | string | Category: "icon" or "illustration" |
| url | string | Source URL of the data |
MMSVGBench is a purely synthetic benchmark designed to rigorously evaluate the generalization capabilities of SVG generation models. All prompts and images are generated from scratch using GPT models, ensuring the benchmark data is non-reproducible and unseen during model training.
The text prompts are generated using carefully designed meta-prompts with GPT, covering two complexity levels:
You are a world-class prompt engineer and visual concept designer specializing in
evaluating and benchmarking text-to-SVG generation models. Your goal is to produce
diverse, creative, and challenging prompts that can test a model's SVG generation capabilities.
Task: Generate prompts for SVG generation at the icon level — each SVG should be simple
enough to be recognizable as a single icon, but rich enough to test compositional
reasoning, abstraction, and vector expressiveness.
Requirements:
1. Diversity of content: Cover a broad range of semantic categories: Objects, tools,
animals, nature, symbols, UI icons, abstract shapes, emotions, cultural motifs, etc.
Include both literal and conceptual ideas (e.g., "clock" vs. "time passing").
2. Diversity of style: Vary stylistic cues such as: minimalist, flat, outline, glyph,
doodle, isometric, retro, pixel-like, ornamental, neon, abstract, corporate,
hand-drawn, futuristic.
3. Controlled complexity: Maintain an SVG-appropriate complexity — no photorealistic
or scene-level descriptions. Each prompt should correspond to a single icon or
small composition of 2–4 elements.
4. Output format: Return prompts as a numbered list (150 in total). Mix the above
types and styles naturally.
Example Icon Prompts:
You are a world-class prompt engineer and visual concept designer specializing in
evaluating and benchmarking text-to-SVG generation models. Your goal is to produce
diverse, creative, and challenging prompts that can test a model's ability to generate
illustration-level SVGs.
Task: Generate prompts for SVG illustrations — each illustration should be more complex
than an icon, containing 1-3 interacting elements, showing composition, perspective,
and layered structure, while still maintaining clear readability and a coherent visual theme.
Requirements:
1. Diversity of content: Cover a broad range of semantic categories: scenes, objects,
animals, humans, nature, symbols, abstract concepts, emotions, cultural motifs,
or narrative vignettes, while keeping compositions minimal.
2. Diversity of style: Vary stylistic cues such as: minimalist illustration, flat vector,
outline, glyph, doodle, isometric, retro, pixel-like, ornamental, neon, abstract,
corporate, hand-drawn, futuristic, semi-realistic, watercolor, comic, storybook,
fantasy, or surreal.
3. Controlled complexity: Illustration-level complexity: 1-3 elements interacting;
Focus on composition, perspective, layering, and visual balance; Avoid photorealism
or scene-level chaos; maintain readability as a vector illustration.
4. Output format: Return prompts as a numbered list (150 in total), mixing keyword,
descriptive, and hybrid prompts naturally.
Example Illustration Prompts:
The image-to-SVG benchmark follows a similar two-stage generation pipeline:
This ensures the reference images are:
The synthetic nature of MMSVGBench provides several key advantages:
| Advantage | Description |
|---|---|
| True Generalization Test | Models cannot have seen these exact samples during training |
| Controlled Diversity | Systematic coverage of styles, complexities, and semantic categories |
| Reproducibility | While individual samples are unique, the generation methodology is documented |
| Fairness | No model has an unfair advantage from training data overlap |
Quantitative results between OmniSVG and current state-of-the-art text-to-SVG and image-to-SVG baseline methods. Bold numbers and underlined numbers represent the best and second best performance respectively. Our OmniSVG model demonstrates superior performance compared to SOTA SVG generation baselines.
| Methods | # Tokens | FID↓ | CLIP↑ | Aesthetic↑ | HPS↑ |
|---|---|---|---|---|---|
| Vectorfusion | 66.2k | 250.77 | 0.240 | 4.76 | 0.237 |
| SVGDreamer | 132.0k | 308.94 | 0.207 | 4.26 | 0.221 |
| Chat2SVG | 0.6k | 190.87 | 0.299 | 4.41 | 0.247 |
| IconShop | 2.0k | 213.28 | 0.288 | 4.55 | 0.244 |
| OmniSVG(4B) | 3.8k | 137.40 | 0.275 | 4.62 | 0.244 |
| OmniSVG-L(8B) | 5.7k | 130.56 | 0.276 | 4.60 | 0.242 |
| Methods | # Tokens | DINO↑ | SSIM↑ | LPIPS↓ | MSE↓ |
|---|---|---|---|---|---|
| LIVE | 52.5k | 0.932 | 0.943 | 0.106 | 0.011 |
| DiffVG | 322.0k | 0.940 | 0.954 | 0.066 | 0.002 |
| GPT-4o | 0.3k | 0.860 | 0.792 | 0.403 | 0.124 |
| StarVector(8B) | 2.0k | 0.895 | 0.881 | 0.231 | 0.059 |
| Vtracer | 52.4k | 0.993 | 0.966 | 0.039 | 0.002 |
| OmniSVG(4B) | 3.8k | 0.993 | 0.950 | 0.050 | 0.006 |
| OmniSVG-L(8B) | 5.7k | 0.922 | 0.893 | 0.235 | 0.040 |
| Methods | # Tokens | FID↓ | CLIP↑ | Aesthetic↑ | HPS↑ |
|---|---|---|---|---|---|
| Vectorfusion | 66.1k | 253.94 | 0.185 | 4.94 | 0.226 |
| SVGDreamer | 132.0k | 419.70 | 0.201 | 4.37 | 0.221 |
| Chat2SVG | 1.0k | 210.03 | 0.283 | 4.45 | 0.250 |
| IconShop | 2.6k | 107.93 | 0.233 | 4.46 | 0.224 |
| OmniSVG(4B) | 5.8k | 154.37 | 0.226 | 4.56 | 0.232 |
| OmniSVG-L(8B) | 6.9k | 138.42 | 0.231 | 4.51 | 0.232 |
| Methods | # Tokens | DINO↑ | SSIM↑ | LPIPS↓ | MSE↓ |
|---|---|---|---|---|---|
| LIVE | 52.2k | 0.935 | 0.950 | 0.111 | 0.008 |
| DiffVG | 322.0k | 0.945 | 0.955 | 0.065 | 0.001 |
| GPT-4o | 0.4k | 0.875 | 0.854 | 0.373 | 0.077 |
| StarVector(8B) | 2.6k | 0.877 | 0.900 | 0.238 | 0.046 |
| Vtracer | 57.6k | 0.994 | 0.966 | 0.035 | 0.002 |
| OmniSVG(4B) | 5.8k | 0.899 | 0.906 | 0.237 | 0.034 |
| OmniSVG-L(8B) | 6.9k | 0.905 | 0.907 | 0.231 | 0.031 |
from datasets import load_dataset
# Load the dataset
dataset = load_dataset("OmniSVG/MMSVGBench")
# Access image2svg split
image2svg_data = dataset["image2svg"]
# Access text2svg split
text2svg_data = dataset["text2svg"]
# Example: iterate over image2svg data
for sample in image2svg_data:
print(f"ID: {sample['id']}")
print(f"Type: {sample['type']}")
print(f"URL: {sample['url']}")
# sample['image'] is a PIL Image
28 commits