Skip to main content
Solved

Convert components from external to local?

  • January 29, 2021
  • 9 replies
  • 14099 views

Tom_Coggia

Is there a way to take a component that is linked from an external file (a design library) and convert it to a local component? I have a document with lots of linked components from the design library, and I want to be able to experiment with the visual design by changing the appearance of all the components in my file without going into the master library file and changing it there.

Best answer by Gleb

My plugin Master do that, although if you need to do it for many components, it may take a bit of time.

  1. Select instances you want to create a new local component from. You can use default feature in the menu Edit → Select All with Same Instance or plugins like Select Similar to find them.
  2. Go to Plugins → Master → Create Component from Objects.

Master will create a new component and attach all selected instances to it. You can also use the Pick & Link feature to link instances on multiple pages to any component. Here are the instructions and tips on how to use it:

And a video on how to use Master so you can see it in action:

View original
This topic has been closed for comments

9 replies

Gleb
  • Power Member
  • 4706 replies
  • Answer
  • January 29, 2021

My plugin Master do that, although if you need to do it for many components, it may take a bit of time.

  1. Select instances you want to create a new local component from. You can use default feature in the menu Edit → Select All with Same Instance or plugins like Select Similar to find them.
  2. Go to Plugins → Master → Create Component from Objects.

Master will create a new component and attach all selected instances to it. You can also use the Pick & Link feature to link instances on multiple pages to any component. Here are the instructions and tips on how to use it:

And a video on how to use Master so you can see it in action:


Maty
  • New Member
  • 17 replies
  • January 26, 2022

There needs to be a built in solution for this, not only through a paid plugin…


Sarah_Finucane1

Yes, figma should ask when you paste comp’s from an external file if you want them to become local.


James_Greig

Former Sketch user here… shocked that a plugin is required to do this!


David_Santoro1

The InstaRelinker plugin can replace all instances of a remote main component with its local equivalent.


Lucas_Q_Lopes

Even though a solution has already been found to this, you could alternatively save a local copy of the file which contains the component you want to import, then open/import that local file and copy/paste directly from there. Any local component copied from a local file will paste as local as well in the destination.

My team and I recently did this to import a huuuge library of icons into a core library file.

That said, it won’t keep links between instances or replace the remote instances with local ones. To do that you might have to rely on a plugin indeed.


I found a hack for this.

  1. Cut (cmd + x or ctrl + x) the original component
  2. Paste it into another project
  3. Go to the original project, and undo the action (cmd + z or ctrl + z)

Phil_Larsen
  • Active Member
  • 130 replies
  • March 3, 2023

Figured I’d add an in-app experience that is possible too.

Depending on how many variants the component has, you’ll have to perform these steps multiple times. These steps also would only work on each page, so if there are multiple pages in the document, you’ll need to perform the action multiple times.

  1. You can copy the master component from the library and paste it into the file where you want the local copy. (It has to be the master component. If it is a component with multiple variants, select the parent frame.)

  2. Search “Select all instances” in the ⌘ + / menu

  3. Once all the instances are selected, you can then change the component to the new local master component from the dropdown on the right-hand panel. All the properties should be preserved.

    image


You’re also able to migrate components from one file to another—it is a 1st party integration they added a few months ago, albeit a little rough around the edges. That requires both files to be libraries, and then you need to publish after cutting and pasting the master component from one file to another.


Thanks for this David… <3


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings