VisRefiner: Learning from Visual Differences for Screenshot-to-Code Generation
Jie Deng, Kaichun Yao, Libo Zhang
TL;DR
VisRefiner tackles the problem of screenshot-to-code generation by learning from visual differences between rendered outputs and target designs. It introduces a two-stage training regime: difference-aligned supervision that grounds code edits to perceptual gaps, and GRPO-based self-refinement that optimizes code by rewarding perceptual improvements. The framework relies on the VisDiffUI dataset to provide paired visual discrepancies and code edits, enabling stable forward generation and guided refinement. Empirical results show improved visual fidelity, layout alignment, and active refinement behavior, advancing multimodal code synthesis toward human-like perception-guided reasoning.
Abstract
Screenshot-to-code generation aims to translate user interface screenshots into executable frontend code that faithfully reproduces the target layout and style. Existing multimodal large language models perform this mapping directly from screenshots but are trained without observing the visual outcomes of their generated code. In contrast, human developers iteratively render their implementation, compare it with the design, and learn how visual differences relate to code changes. Inspired by this process, we propose VisRefiner, a training framework that enables models to learn from visual differences between rendered predictions and reference designs. We construct difference-aligned supervision that associates visual discrepancies with corresponding code edits, allowing the model to understand how appearance variations arise from implementation changes. Building on this, we introduce a reinforcement learning stage for self-refinement, where the model improves its generated code by observing both the rendered output and the target design, identifying their visual differences, and updating the code accordingly. Experiments show that VisRefiner substantially improves single-step generation quality and layout fidelity, while also endowing models with strong self-refinement ability. These results demonstrate the effectiveness of learning from visual differences for advancing screenshot-to-code generation.
