A Figma plugin that creates configurable connection arrows between frames. Perfect for creating flowcharts, user journey maps, and process diagrams.
- Smart Connection Detection: Automatically connects frames at the optimal edge points
- Comprehensive Styling Options:
- 6 predefined stroke colors
- 4 stroke width options (1-4px)
- 3 stroke styles (solid, dashed, dotted)
- 3 sloppiness levels for hand-drawn effects
- 3 arrow types (straight, curved, elbow)
- 3 arrowhead options (none, end, both)
- Opacity control (0-100%)
- Connection Labels: Add optional text labels positioned at connection midpoint
- Auto-Creation: Instant connection creation when selecting 2 frames with Shift+Click
- Auto-Update: Connections automatically reposition when connected frames are moved or resized
- Live Editing: Select any existing connection to edit its properties in real-time
- Persistent Configuration: Connection settings are stored and can be modified later
- Intelligent Positioning: Automatically calculates optimal connection points based on frame positions
- Select Frames: Use Shift+Click to select exactly 2 frames you want to connect
- Configure Connection:
- Choose stroke color from 6 predefined colors
- Select stroke width (1-4px)
- Pick stroke style (solid, dashed, dotted)
- Adjust sloppiness for hand-drawn effect
- Choose arrow type (straight, curved, elbow)
- Set arrowheads (none, end, both)
- Control opacity (0-100%)
- Add optional label text
- Auto-Create: With "Auto-create on selection" enabled (default), connections are created instantly
- Manual Create: Disable auto-create to use the "Create Connection" button manually
- Auto-Update: Enable "Auto-update when frames move" to automatically reposition connections when frames change
- Select Connection: Click on any existing flow connection in your canvas
- Edit Mode: The plugin automatically switches to edit mode, showing current settings
- Live Updates: Any changes to configuration instantly update the selected connection
- Visual Feedback: Orange status bar indicates you're editing an existing connection
- Enable Auto-Update: Check "Auto-update when frames move" (enabled by default)
- Move Frames: Drag or resize any connected frames in your canvas
- Instant Updates: Connections automatically reposition to maintain optimal connection points
- Smart Tracking: Plugin tracks all connections and updates them as needed
- Clone this repository
- Run
npm installto install dependencies - Run
npm run buildto compile TypeScript - In Figma:
Plugins→Development→Import plugin from manifest... - Select the
manifest.jsonfile from this repo
npm run build- Compile TypeScript to JavaScriptnpm run watch- Watch for changes and auto-compilenpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issues automatically
The plugin intelligently determines connection points by:
- Calculating frame centers and relative positions
- Choosing horizontal vs vertical connections based on distance
- Connecting at the nearest edge points for clean, professional-looking arrows
Each connection is a grouped element containing:
- Main connection line (with configurable path type)
- Arrow heads (start and/or end, based on configuration)
- Optional text label (positioned at connection midpoint)
- Stored metadata for future editing
- Connection settings are stored as plugin data within each connection group
- Selecting a connection automatically loads its configuration into the UI
- Real-time updates allow immediate visual feedback when editing
- Metadata includes original frame references for proper reconnection
- Plugin tracks all connections on the current page for automatic updates
- Listens for document changes to detect when frames are moved or resized
- Debounced updates prevent excessive recalculations during rapid changes
- Maintains connection styling and configuration during automatic updates
- Smart detection only updates connections when frame positions actually change
- Straight: Direct line between connection points
- Curved: Smooth bezier curve with intelligent control points
- Elbow: Right-angle connection with intermediate waypoint
- Sloppiness: Adds controlled randomness for hand-drawn appearance
- Figma Desktop App or Browser
- Node.js and npm for development
MIT License - feel free to use and modify for your projects!