Detach Component Instances

Detach Component Instances

Figma Plugin

Description

When working with complex Figma designs, you often need to convert component instances into regular frames to make unique modifications. However, Figma's native detach function works on individual instances only, making it tedious to detach multiple instances of the same component across your design.

This plugin solves that problem by providing a centralized interface where you can:

  • View all component instances in your design organized by component
  • See exactly how many instances of each component exist
  • Selectively choose which components to detach
  • Process multiple instances at once with a single click

Whether you're preparing a design for handoff, creating variations from a template, or simply need to break away from a component system, this plugin streamlines the workflow and saves you valuable time.

Key Features

  • Flexible Scope Options: Choose where to search for instances: Current Page, Selection or Entire Document
  • Smart Component List: View all components with their instance counts organized alphabetically
  • Real-time Updates: In "Selection" mode, the component list automatically refreshes as you select/deselect objects on the canvas
  • Search & Filter: Quickly find specific components by typing part of their name
  • Selective Detaching: Choose exactly which components to detach and which to keep linked
  • Visual Zoom: Hover over any component in the list to see a zoom button that highlights all its instances in the canvas
  • Nested Instance Support: Automatically finds instances nested within frames, groups, and other containers

Getting Started

1. Open Your Figma File

  • Open the Figma file containing the component instances you want to detach

2. Launch the Plugin

  • Go to Plugins in the menu
  • Find and click Detach Component Instances
  • The plugin window will open

image gallery

Choosing Your Scope

3. Select Your Search Scope

At the top of the plugin window, you'll see three scope options:

🅰 Selection: Only shows instances within your currently selected objects

  1. This option is disabled if nothing is selected
  2. The list automatically updates as you select/deselect objects
  3. Perfect for working on a specific section of your design

🅱 Page: Shows all instances on the current page (default)

  1. Scans the entire active page
  2. Ideal for page-specific cleanup

🅲 Document: Shows instances across all pages

  1. Searches your entire Figma file
  2. Use this for document-wide operations

Reviewing Components

4. Review the Component List

The main area displays all components found in your chosen scope:

  1. Components are listed alphabetically by name
  2. Each component shows its instance count in a badge
  3. The info text shows the total number of instances found
  4. All components are selected by default

5. Use the Search Filter (Optional)

If you have many components:

  1. Click the search box at the top
  2. Type part of a component name to filter the list
  3. Click the × button to clear the search

Selecting Components to Detach

6. Choose Which Components to Detach

You have several ways to select components:

  1. Click individual components: Click any component to toggle its selection
  2. Shift+Click for range: Click one component, hold Shift, then click another to select everything in between

Use Quick Actions:

  1. Select All: Selects all components in the list
  2. Deselect All: Clears all selections
  3. Invert: Flips your selection (selected becomes unselected and vice versa)

7. Preview Component Locations (Optional)

To see where instances are located:

  1. Hover over any component in the list
  2. A zoom icon appears on the right
  3. Click the zoom icon to highlight all instances of that component in the canvas
  4. Click again to unzoom

Detaching Instances

Detach the Selected Components

When you're ready:

  1. Click the Detach Selected button at the bottom
  2. A progress modal appears showing the detachment progress
  3. The plugin automatically closes when complete
  4. You'll see a notification showing how many instances were detached
  5. Review the Results

After detaching:

  1. The former instances are now regular frames/groups
  2. They maintain their visual appearance
  3. They're no longer linked to the main component
  4. You can now modify them independently

Tips & Best Practices

  1. Start Small: If you're unsure, start with the "Selection" scope to test on a small area first
  2. Use Search: For large projects with many components, use the search filter to quickly find specific components
  3. Preview First: Use the zoom feature to verify which instances will be affected before detaching
  4. Undo Available: If you make a mistake, use Cmd+Z (Mac) or Ctrl+Z (Windows) to undo the detachment
  5. Nested Instances: The plugin automatically finds instances nested inside frames, groups, and other containers - no need to ungroup first
  6. Selection Mode: When working in "Selection" mode, you can adjust your canvas selection while the plugin is open, and the list will update automatically

Leave a comment

Detach Component Instances

Version: 1.0.2

Updated:

  • 1.0.0 – Initial release.
    1.0.1 – Pages list refreshes instantly when changing pages.
    1.0.2 – Scope selector fixed: Selection, Page, Document switch reliably.

  • Supported Versions:

    • Compatible with Adobe Illustrator CS6 and later, including Adobe Illustrator CC versions.

    Operating Systems:

    • Works on both macOS and Windows platforms.
  • End User License Agreement (EULA)

    Last Updated: 21.12.2024

    This End User License Agreement (“Agreement”) is a legal agreement between you (“User” or “Licensee”) and Samolevsky.com (“Licensor”) regarding the use of the Adobe Illustrator scripts (“Software”). By downloading, installing, or using the Software, you agree to be bound by the terms of this Agreement.

    1. Grant of License

    Licensor grants the User a non-exclusive, non-transferable, and revocable license to use the Software in accordance with this Agreement.

    • Free Software: If the Software is provided for free, you may use it for personal or commercial purposes without payment, subject to the restrictions outlined in this Agreement.
    • Paid Software: If the Software is provided for a fee, you may use it only after payment has been made in full.

    2. Usage Rights

    You are permitted to:

    • Install and use the Software on devices you own or control.
    • Use the Software in your personal or commercial projects, subject to compliance with this Agreement.

    3. Restrictions

    You may NOT:

    • Reverse engineer, decompile, or otherwise attempt to discover the source code, underlying ideas, or algorithms of the Software.
    • Reuse, incorporate, or integrate any portion of the Software into any other software, product, or project, except as expressly permitted by the Licensor in writing.
    • Resell, redistribute, or share the Software, whether in its original or modified form, without prior written consent from the Licensor.
    • Claim ownership of the Software or its underlying code.
    • Use the Software in any way that violates applicable laws or regulations.

    4. Ownership

    The Software and all intellectual property rights therein remain the exclusive property of the Licensor. This Agreement does not transfer ownership of the Software or any intellectual property rights to the User.

    5. Disclaimer of Warranties

    THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    6. Limitation of Liability

    To the maximum extent permitted by law, Licensor shall not be liable for any damages, including but not limited to direct, indirect, incidental, special, or consequential damages, arising out of or related to the use or inability to use the Software.

    7. Termination

    This Agreement is effective until terminated. Licensor may terminate this Agreement immediately if you breach any term of this Agreement. Upon termination, you must cease all use of the Software and destroy any copies in your possession.

    8. Updates and Support

    Licensor is not obligated to provide updates, support, or maintenance for the Software. However, updates may be provided at the sole discretion of the Licensor.

    9. Governing Law

    This Agreement shall be governed by and construed in accordance with the laws of the State of New York, without regard to its conflict of law principles.

    10. Entire Agreement

    This Agreement constitutes the entire agreement between you and the Licensor concerning the Software and supersedes all prior or contemporaneous understandings regarding such subject matter.

    By using the Software, you acknowledge that you have read this Agreement, understand it, and agree to be bound by its terms.

    For any questions or concerns regarding this Agreement, please contact us at hello@samolevsky.com

Required Software

Figma

Figma is a cloud-based design and prototyping tool primarily used for user interface and user experience design. It allows designers, developers, and other stakeholders to collaborate in real-time on projects.

Browse More Plugins

  1. Explore Stroke Width Randomizer
    Stroke Width Randomizer

    Stroke Width Randomizer

    A powerful Figma plugin that applies random stroke widths to selected objects within a customizable range.

    Explore
  2. Explore Stroke Scaler
    Stroke Scaler

    Stroke Scaler

    A Figma plugin that allows you to scale and adjust stroke weights on selected objects with real-time preview.

    Explore
  3. Explore Select by Name
    Select by Name

    Select by Name

    Select by Name is a powerful Figma plugin that allows you to quickly find, filter, and select design elements by their names across your Figma documents. 

    Explore

Got questions?

Need help or have an idea to share? We’d love to hear from you! Whether you have questions, found a bug, have a feature request, or just want to share your feedback, reach out to us—we’re here for you!