Figma Developer Handoff

Developer handoff is the process of giving developers everything they need to build what you designed — exact measurements, colors, fonts, spacing values, and exportable assets. Figma eliminates the need for separate documentation tools by embedding all of this information directly in the design file.

What Developers Need from a Design File

Before looking at Figma's tools, understand what a developer actually needs:

Developer Requirements Diagram

  FROM THE DESIGN          DEVELOPER USES IT FOR
  +--------------------+   +---------------------------+
  | Element dimensions |   | Set width/height in CSS   |
  | Colors (hex/rgba)  |   | background-color, color   |
  | Font specs         |   | font-family, size, weight |
  | Spacing values     |   | padding, margin, gap      |
  | Corner radius      |   | border-radius             |
  | Shadow details     |   | box-shadow                |
  | Image/icon files   |   | img src, icon assets      |
  +--------------------+   +---------------------------+

Dev Mode

Dev Mode is Figma's dedicated developer view. Activate it by clicking the </> icon in the top toolbar. The canvas switches to a developer-focused interface with inspectable properties on every element.

What Developers See in Dev Mode

When a developer clicks any element on the canvas in Dev Mode:

  • The element highlights with dimension labels
  • The right panel shows all design properties (color, font, size, spacing)
  • Code snippets appear in CSS, iOS Swift, or Android XML format
  • A copy button appears next to each value for instant copying

Dev Mode Panel Example — Button

  Developer clicks "Subscribe" button. Panel shows:

  INSPECT
  Width:         200px
  Height:        48px
  Border Radius: 24px
  Background:    #3A86FF (Primary/Blue)

  Typography (Label):
  Font:          Inter
  Size:          16px
  Weight:        600
  Color:         #FFFFFF
  Letter Spacing: 0.5px

  CSS OUTPUT
  ┌──────────────────────────────────────┐
  │ background: #3A86FF;                 │
  │ border-radius: 24px;                 │
  │ padding: 12px 32px;                  │
  │ font-family: 'Inter', sans-serif;    │
  │ font-size: 16px;                     │
  │ font-weight: 600;                    │
  │ color: #FFFFFF;                      │
  └──────────────────────────────────────┘

Measuring Spacing Between Elements

Developers need to know the distance between elements for margin and padding values. In Dev Mode, hover over any element and hold Alt (Option on Mac) to see the distance from that element to the currently selected one, displayed as pink dimension lines.

Spacing Measurement Diagram

  [Search Bar]
   |------16px------|
                    [Filter Button]
   
  Hover over Search Bar → Alt + hover over Filter Button → shows "16px"

Marking Designs as Ready for Development

In Dev Mode, you can mark individual frames with a Ready for Development status. This signals to developers which screens are finalized and approved for coding — and which are still a work in progress.

  1. In Dev Mode, select a frame.
  2. Click the Mark as Ready for Development button in the right panel.
  3. The frame gets a green badge, and developers see it highlighted in their Dev Mode view.

Exporting Assets for Developers

Icons, images, and illustrations need to be exported as files that developers add to their codebase.

Exporting Steps

  1. Select the layer or frame to export.
  2. In the Design Panel (or Dev Mode panel), scroll to the Export section.
  3. Click + to add an export setting.
  4. Choose the file format: SVG for icons and illustrations, PNG for photos and raster images, PDF for print assets.
  5. Set the scale: 1x, 2x, 3x (for different screen densities).
  6. Click Export [Layer Name] to download.

Asset Format Decision Guide

  ASSET TYPE           FORMAT    REASON
  App icons            SVG       Scales to any size, editable in code
  Product photos       PNG/JPG   Raster images, fixed resolution
  Illustrations        SVG       Stays sharp on all screen sizes
  App store icon       PNG 1x    Specific requirements from stores
  Loading animations   GIF/LOTTIE Animated format

Slices for Custom Export Areas

A slice defines a custom rectangular region of the canvas to export as an image — not tied to any specific layer.

  1. Press S to activate the Slice tool.
  2. Drag to draw a slice rectangle over the area you want to export.
  3. The slice appears as a dashed rectangle. Set export settings on it in the Design Panel.

Use slices to export a combination of overlapping elements (like a card with a shadow that extends beyond the card's frame) as one flat image.

Sharing the File with Developers

Click Share in the top-right corner. Set the link permission to Can View. Copy the link and send it to developers. They open the file in Dev Mode using their free Figma viewer account — no paid seat required.

Handoff Link Settings

  Share settings:
  +--------------------------------+
  | Anyone with link: Can View  v  |
  | [Copy Link]                    |
  +--------------------------------+
  Developers get read + Dev Mode access
  They cannot edit the file

Preparing a File for Clean Handoff

A messy file forces developers to ask questions and slows down development. Follow this checklist before handing off:

Handoff-Ready Checklist

  ✓ All layers are named clearly (no "Rectangle 12")
  ✓ All colors use named Color Styles or Variables
  ✓ All text uses named Text Styles
  ✓ All effects use named Effect Styles
  ✓ Icons are SVG format and grouped logically
  ✓ Images have correct export settings added
  ✓ Frames marked as Ready for Development
  ✓ Prototype shows all interactive states
  ✓ Components cover all states (default, hover, disabled, error)
  ✓ Spacing uses consistent values (8px grid)

The 8-Point Grid System

Most design systems use an 8-point grid — all spacing values are multiples of 8 (8, 16, 24, 32, 40, 48, 64). Developers use multiples of 4 or 8 in their CSS because it creates consistent, proportional layouts across all screen sizes.

8-Point Grid Reference

  VALUE   USE CASE
  4px     Micro spacing (icon to label gap)
  8px     Tight padding (small buttons, chips)
  16px    Default padding (cards, inputs)
  24px    Section spacing
  32px    Large section gap
  48px    Major section break
  64px    Page-level vertical spacing

Annotations in Figma

Figma includes a native Annotation tool (in newer versions) that lets designers add labeled callouts directly on the canvas. Annotations explain things the design properties alone cannot convey — interactions, accessibility notes, or conditional display logic.

Access annotations from the toolbar: click the annotation icon and click any element to add a note. Developers see the annotations in Dev Mode alongside the design properties.

Leave a Comment

Your email address will not be published. Required fields are marked *