🤖 AI Summary
This work addresses three key challenges in natural language-to-SVG generation: poor semantic alignment, low structural integrity, and weak interpretability. To tackle these, we propose SVGen—a novel end-to-end generative model—and introduce SVG-1M, a large-scale, high-quality dataset specifically curated for this task. Methodologically, we innovatively incorporate chain-of-thought (CoT) annotations and curriculum learning, integrated with large language model fine-tuning, synthetic data augmentation, and reinforcement learning optimization to enhance joint text understanding and SVG syntax generation. Experimental results demonstrate that SVGen significantly outperforms both general-purpose large language models and conventional rendering-based approaches across accuracy, structural validity, and rendering fidelity. We publicly release the model, source code, and dataset to foster reproducible research. This work establishes a new paradigm for UI design automation and interpretable, AI-driven vector graphic generation.
📝 Abstract
Scalable Vector Graphics (SVG) is widely used in front-end development and UI/UX design due to its scalability, editability, and rendering efficiency. However, turning creative ideas into precise vector graphics remains a time-consuming challenge. To address this, we introduce SVG-1M, a large-scale dataset of high-quality SVGs paired with natural language descriptions. Through advanced data augmentation and annotation, we create well-aligned Text to SVG training pairs, including a subset with Chain of Thought annotations for enhanced semantic guidance. Based on this dataset, we propose SVGen, an end-to-end model that generates SVG code from natural language inputs. Our approach ensures semantic accuracy and structural completeness, supported by curriculum learning and reinforcement learning optimization. Experiments show that SVGen outperforms general large models and traditional rendering methods in both effectiveness and efficiency. Code, model, and dataset are available on GitHub.