Zeplin bridges design files and Bolt.new by extracting exact CSS values, spacing measurements, color tokens, and typography specs from Figma, Sketch, or Adobe XD designs. Use Zeplin's Inspect mode to get precise values, then translate them into Tailwind classes or inline styles for your Bolt.new components. No API integration needed — this is a design handoff workflow.
From Zeplin Inspect to Bolt.new Components: A Design Handoff Workflow
Zeplin bridges design files and code by extracting precise CSS values — padding, font sizes, colors, shadows, and spacing — that would otherwise be lost in translation. For Bolt.new users, it works as a reference tool: inspect your design in Zeplin, note the exact values, and write better Bolt prompts that specify pixel-perfect details.
The workflow is entirely non-technical: no API keys, no code, no npm packages. Sync your Figma/Sketch/XD file to Zeplin, use the Inspect panel to read values, and reference them in your Bolt chat prompts. The result is components that match the design specification rather than AI approximations.
Zeplin's Styleguide feature is particularly useful for design systems: it centralizes all your color tokens, typography scales, and component specs in one shared reference that every team member and prompt can reference consistently.
Integration method
Zeplin is a design handoff tool, not an API integration. The workflow is: open your design file in Figma/Sketch/XD → sync to Zeplin via the plugin → use Zeplin's Inspect panel to read exact CSS properties, spacing, colors, and typography → translate those values into Tailwind classes in your Bolt.new prompts. No code or API keys are required.
Prerequisites
- A Zeplin account at zeplin.io (free Starter plan supports 1 project with up to 2 screens)
- A design file in Figma, Sketch, or Adobe XD ready to sync
- The Zeplin plugin installed in your design tool (available in the Figma Community / Sketch plugin manager / XD plugin panel)
- A Bolt.new account with a React project to apply the designs to
- Basic familiarity with Tailwind CSS class names for translating CSS values
Step-by-step guide
Connect Your Design Tool to Zeplin
Connect Your Design Tool to Zeplin
Install the Zeplin plugin in your design tool of choice. For Figma: search 'Zeplin' in the Figma Community tab or go to Plugins → Browse plugins → search 'Zeplin'. For Sketch: go to Plugins → Manage plugins → search 'Zeplin'. For Adobe XD: go to Plugins panel → browse → search 'Zeplin'. Once the plugin is installed, open your design file and run the Zeplin plugin (usually via the Plugins menu or right-click context menu). Sign in to your Zeplin account through the plugin. Create a new Zeplin Project or connect to an existing one — projects in Zeplin correspond to design files or products, not individual screens. Select the frames, artboards, or components you want to export and click 'Export to Zeplin'. The plugin uploads screenshots and layer data to Zeplin's servers. For Figma, you can also use Zeplin's direct Figma import: open Zeplin → New Project → Import from Figma → paste your Figma file URL. This approach often preserves more component structure than the plugin export.
Pro tip: Organize your Figma/Sketch file into clearly named frames before exporting. Zeplin creates one screen per frame, so well-named frames make navigation much easier when you're referencing designs while building in Bolt.
Expected result: Your design screens appear in Zeplin's project view. Each screen is clickable and shows a full-resolution rendering of the design.
Use the Inspect Panel to Extract CSS Values
Use the Inspect Panel to Extract CSS Values
Open any screen in Zeplin and click on any element in the design. The Inspect panel on the right side immediately shows CSS properties for the selected element — positioning, dimensions, colors, typography, borders, shadows, and opacity. This is the core feature that makes Zeplin valuable for Bolt.new integration. For text elements, Zeplin shows font-family, font-size, font-weight, line-height, letter-spacing, and color. For containers and shapes, it shows width, height, padding, margin, border-radius, background-color, and box-shadow with exact pixel values. For icons and images, it shows dimensions and offers download options. Zeplin shows measurements in CSS pixels by default. It also shows distances between elements when you hover — hover over a gap between two elements to see the spacing in pixels. This is invaluable for getting padding and gap values right without guessing. For translating to Tailwind classes: Zeplin shows exact pixel values, so you'll match them to the nearest Tailwind step. Tailwind uses a 4px base unit — 4px=1, 8px=2, 12px=3, 16px=4, 20px=5, 24px=6. Colors: if the design uses a standard color (like blue-600 #2563EB), you can use the Tailwind class directly. For custom brand colors, you'll need to add them to tailwind.config.js.
Pro tip: Click the CSS tab in Zeplin's Inspect panel to see all properties formatted as actual CSS code. You can copy the entire CSS block and paste it directly into your Bolt prompt, asking Bolt to convert it to equivalent Tailwind classes.
Expected result: You can select any element in a Zeplin screen and see its exact CSS properties. You have a reference list of colors, font sizes, spacing values, and border radii from your design.
Build a Styleguide for Your Design System
Build a Styleguide for Your Design System
Zeplin's Styleguide is a separate section in your project that documents the shared design tokens — color palettes, typography scales, spacing, and component variants. If your designer has set up the Styleguide (which designers using Figma Styles or Sketch Symbols can do automatically), this becomes your single source of truth for building the Tailwind configuration in Bolt.new. Navigate to the Styleguide tab in your Zeplin project. You'll see color swatches with hex values and names, text styles showing font families and sizes, and potentially component definitions. Click any color swatch to see its hex value, RGB values, and the name assigned in the design tool (e.g., 'brand/primary/500' or 'Gray/700'). These color names and values map directly to a Tailwind theme extension in tailwind.config.js. If your brand has colors with names, use those names in your Tailwind config to maintain consistency between the design file and the code. Typography styles similarly map to Tailwind's fontFamily, fontSize, and fontWeight configurations. Write down or screenshot all Styleguide values before starting your Bolt.new build session. Having the complete design token list ready makes your prompts much more precise and reduces back-and-forth corrections.
1// Example tailwind.config.js based on Zeplin Styleguide values2// Replace values with what you find in your own Zeplin Styleguide3import type { Config } from 'tailwindcss';45const config: Config = {6 content: ['./src/**/*.{ts,tsx}'],7 theme: {8 extend: {9 colors: {10 // From Zeplin Styleguide → Colors section11 brand: {12 50: '#EFF6FF',13 100: '#DBEAFE',14 500: '#3B82F6',15 600: '#2563EB', // Primary button color16 700: '#1D4ED8', // Hover state17 900: '#1E3A8A',18 },19 // Neutrals20 'gray-surface': '#F9FAFB',21 'gray-border': '#E5E7EB',22 'gray-text': '#374151',23 },24 fontFamily: {25 // From Zeplin Styleguide → Text Styles section26 heading: ['Sora', 'sans-serif'],27 body: ['Inter', 'sans-serif'],28 mono: ['JetBrains Mono', 'monospace'],29 },30 fontSize: {31 // Map design's named text styles to sizes32 'display-xl': ['56px', { lineHeight: '64px', fontWeight: '700' }],33 'display-lg': ['40px', { lineHeight: '48px', fontWeight: '700' }],34 'heading-md': ['24px', { lineHeight: '32px', fontWeight: '600' }],35 'body-lg': ['18px', { lineHeight: '28px', fontWeight: '400' }],36 'body-sm': ['14px', { lineHeight: '20px', fontWeight: '400' }],37 },38 borderRadius: {39 // From component specs in Zeplin40 'sm': '4px',41 'md': '8px',42 'lg': '12px',43 'xl': '16px',44 '2xl': '24px',45 },46 },47 },48 plugins: [],49};5051export default config;Pro tip: If your designer used Figma Variables or Sketch Shared Styles, Zeplin can automatically populate the Styleguide. Ask your designer to run the Zeplin plugin after defining their token library — it saves you from manually noting every color value.
Expected result: Your tailwind.config.js includes custom colors, fonts, and spacing from the Zeplin Styleguide. Components you build in Bolt using these token names will visually match the design.
Download Assets and Icons from Zeplin
Download Assets and Icons from Zeplin
Zeplin can export design assets — images, icons, and illustrations — in multiple formats and resolutions directly from the design file, without requiring access to the original Figma or Sketch file. This is especially useful when a designer shares a Zeplin project link but not the source file. To download an asset: click on an image or icon in any Zeplin screen, then look for the Download or Export button in the Inspect panel. For images, Zeplin offers 1x, 2x, and 3x resolutions for retina display support. For vector icons and illustrations, download as SVG for sharp rendering at any size. For icons that appear in multiple places across a design, use Zeplin's global Components or Symbols view to download each unique icon once. Add downloaded SVG files to your Bolt.new project's public/ folder or src/assets/ folder, then prompt Bolt to create an Icon component that references them.
I've added SVG icon files to the public/icons/ directory. Create an IconComponent that accepts name (maps to the SVG filename), size (default 24, as a number), className (for Tailwind color classes), and onClick props. The component should render an img tag pointing to /icons/{name}.svg with the specified dimensions. Export a named Icons constant that lists all available icon names as a TypeScript union type.
Paste this in Bolt.new chat
Pro tip: Download SVG icons from Zeplin rather than PNG. SVGs scale perfectly at any size, can have their color changed via CSS (currentColor), and are usually smaller in file size than rasterized PNGs. Ask Zeplin to export with no artboard padding to get clean icons without extra whitespace.
Expected result: Icons and images downloaded from Zeplin are added to your Bolt project. The Icon component renders them correctly at the specified sizes.
Write Bolt Prompts Using Zeplin Specs
Write Bolt Prompts Using Zeplin Specs
With exact values from Zeplin's Inspect panel, you can now write precise Bolt.new prompts that produce components closely matching the original design. The key technique is specificity — the more exact values you provide, the less the AI needs to guess. A generic Bolt prompt produces an approximation of the design. A Zeplin-informed prompt produces a much closer match. Compare these two approaches for the same component: Generic: 'Create a card component with a title, description, and button' Zeplin-informed: 'Create a card component with white background, border 1px solid #E5E7EB, border-radius 12px, padding 24px, box-shadow 0 1px 3px rgba(0,0,0,0.1). Title in Inter 18px font-weight 600 color #111827. Description in Inter 14px font-weight 400 color #6B7280, margin-top 8px. Button at bottom with bg-blue-600 hover:bg-blue-700, text-white, text-sm font-medium, px-4 py-2, rounded-lg, margin-top 16px.' The Zeplin-informed prompt produces a component that requires far fewer revision cycles. For complex designs with many components, extract values from Zeplin screen by screen and write component-specific prompts for each.
Create a ProductCard component with these exact Zeplin specs: white background (#FFFFFF), border 1px solid #E5E7EB, border-radius 12px, padding 0 (image fills top), box-shadow 0 1px 3px rgba(0,0,0,0.1) hover:0 4px 12px rgba(0,0,0,0.15) with transition. Image area: 240px height, object-fit cover, border-radius 12px 12px 0 0. Content padding: 20px. Product name: Inter 16px font-weight 600 color #111827. Price: Inter 20px font-weight 700 color #111827, margin-top 4px. Secondary text (category): Inter 12px font-weight 400 color #9CA3AF. Add to Cart button: full width, bg #111827 hover:#374151 text white, py-3, rounded-lg, text-sm font-medium, margin-top 16px.
Paste this in Bolt.new chat
Pro tip: When a design uses custom fonts (like Sora or Bricolage Grotesque), ask Bolt to add a Google Fonts import to your layout.tsx head. Zeplin shows the exact font name and weight used — copy it directly into the prompt.
Expected result: Bolt generates a component that visually matches the Zeplin design specification. Minor pixel differences may exist due to browser rendering, but colors, spacing, and typography should be accurate.
Common use cases
Implementing a Designer's Component Library
A designer has built a complete component library in Figma — buttons, cards, form inputs, navigation — and synced it to Zeplin. You use Zeplin's Inspect mode to extract the exact CSS values for each component and write precise Bolt prompts to implement them as React/Tailwind components matching the design spec exactly.
Create a Button component with these exact specifications from my design: background-color #2563EB, hover state #1D4ED8, border-radius 8px, padding 12px 24px, font-family Inter, font-size 16px, font-weight 600, color white, box-shadow 0 1px 2px rgba(0,0,0,0.05). Add a 'variant' prop for 'primary' (these specs) and 'secondary' (white background, #2563EB border and text, same sizing).
Copy this prompt to try it in Bolt.new
Building a Design System in Bolt from Zeplin Styleguide
Extract all color tokens, typography definitions, and spacing values from a Zeplin Styleguide to create a consistent Tailwind configuration and design token file in Bolt.new. This ensures every component in your app uses the same design language as the original design files.
Create a design-tokens.ts file and update tailwind.config.js with my brand's design system. Colors: primary-500 is #6366F1, primary-600 is #4F46E5, gray-900 is #111827, gray-500 is #6B7280. Typography: heading font is 'Sora', body font is 'Inter'. Spacing scale uses 4px base unit. Border radius: sm=4px, md=8px, lg=16px, full=9999px.
Copy this prompt to try it in Bolt.new
Extracting and Using Custom Icons from Zeplin
A design file contains custom SVG icons that need to appear in the Bolt.new app. Export the icons from Zeplin as optimized SVG files, add them to the Bolt project's public folder, and create a reusable Icon component that renders them with configurable size and color.
I'm uploading SVG icon files from my Zeplin project. Create an Icon component that accepts a 'name' prop mapping to these SVG files in the public/icons/ folder, a 'size' prop (default 24px), and a 'color' prop (default 'currentColor'). The icons should work as inline SVG so their color can be controlled with Tailwind text color classes.
Copy this prompt to try it in Bolt.new
Troubleshooting
Zeplin shows different values than what the designer specified in Figma
Cause: Zeplin calculates CSS values based on its interpretation of the design layers. For components with auto-layout or constraints in Figma, Zeplin may show absolute pixel positions instead of relative spacing.
Solution: Cross-reference with the Figma file directly using the developer inspect panel (Figma also has a built-in inspect mode). For spacing inside auto-layout frames, the gap and padding values in Figma's inspect panel are more reliable than Zeplin's absolute measurements.
Colors exported from Zeplin don't match how they look in the design on screen
Cause: Color profiles — specifically sRGB vs P3 color space — can cause colors to appear different when exported as hex values. Modern Macs and iOS devices display P3 colors, which are more saturated than sRGB equivalents.
Solution: In Zeplin settings, ensure the color space is set to sRGB for web projects. Ask your designer to use sRGB color profile in their design tool. For web, stick to hex values from Zeplin's CSS output rather than the visual picker.
Fonts show up correctly in Zeplin but not in the Bolt.new app
Cause: Custom fonts used in the design are not loaded in the Bolt.new project. Bolt's default apps only include system fonts and common Google Fonts.
Solution: Add the font to your layout.tsx using a Google Fonts link tag or next/font. The exact font name is visible in Zeplin's Inspect panel under typography properties.
1// In app/layout.tsx:2import { Inter, Sora } from 'next/font/google';3const inter = Inter({ subsets: ['latin'] });4const sora = Sora({ subsets: ['latin'], weight: ['400', '600', '700'] });Best practices
- Start a Bolt project by extracting the full Styleguide (colors, typography, spacing) from Zeplin first and configuring tailwind.config.js before building any components
- Copy exact hex color values from Zeplin rather than using color picker approximations — a single digit difference changes the color noticeably
- Include box-shadow values from Zeplin in your prompts — shadows are what distinguish polished designs from flat ones and are often omitted in generic prompts
- Download SVG icons from Zeplin instead of PNG for sharp rendering at all screen densities and easy color control with CSS
- Use Zeplin's hover measurement tool (hover between two elements) to get exact margin and gap values — these are harder to read from the CSS panel
- Name design tokens consistently: use the same names from Zeplin's Styleguide in your tailwind.config.js so teammates can reference either tool
- For Figma-based workflows, compare Zeplin's values against Figma's built-in Dev Mode inspect panel — Figma's own inspect mode is increasingly accurate and may not require Zeplin for simple projects
Alternatives
Figma has a built-in Dev Mode inspect panel that shows similar CSS values without needing a separate Zeplin export step — the simplest path for teams working entirely in Figma.
Sketch's built-in Inspect panel covers basic CSS values, but Zeplin adds team sharing, comments, and a cleaner developer handoff experience for design-developer workflows.
Adobe XD has a publish share feature with an inspect panel similar to Zeplin — useful if your design team is already in the Adobe Creative Cloud ecosystem.
Framer generates React code directly from design components — a more automated path from design to code if your designer works in Framer, but requires the entire design workflow to be in Framer.
Frequently asked questions
Does Zeplin integrate directly with Bolt.new?
No, there's no direct API connection between Zeplin and Bolt.new. Zeplin is used as a reference tool: you open Zeplin, read the exact CSS values from the Inspect panel, and then write Bolt.new prompts that include those specific values. The integration is through your prompts, not an automated pipeline.
Is Zeplin free to use?
Zeplin has a free Starter plan that supports 1 project with up to 2 screens and 1 Styleguide. For teams or projects with more screens, paid plans start at $8/month (per editor). For small Bolt.new projects, the free plan is often sufficient to extract the design values you need.
Can I use Figma's built-in inspect instead of Zeplin?
Yes. Figma's Dev Mode (available in the Figma desktop app) shows similar CSS values, spacing measurements, and asset exports without requiring a separate Zeplin export. For individual developers working directly with a Figma file, Figma's built-in inspect panel may be sufficient. Zeplin adds value for teams that need comments, version history, and a shared handoff workspace separate from the design file.
How do I convert Zeplin's pixel values to Tailwind classes?
Tailwind uses a 4px spacing scale: 4px=1, 8px=2, 12px=3, 16px=4, 20px=5, 24px=6, 32px=8, 40px=10, 48px=12. For font sizes, compare to Tailwind's scale: 12px=xs, 14px=sm, 16px=base, 18px=lg, 20px=xl, 24px=2xl. For colors that aren't in Tailwind's default palette, add them to tailwind.config.js under theme.extend.colors.
What's the best workflow for using Zeplin with Bolt.new?
Before starting to build: extract all Styleguide values (colors, typography, spacing) from Zeplin and configure tailwind.config.js. Then, for each component you build, click the component in Zeplin's Inspect mode, copy the CSS block, and include the relevant values in your Bolt prompt. Work screen-by-screen, extracting values for each new component before prompting Bolt to build it.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation