How to unlink a sketch symbol library?

7 months ago from , Team Lead Experience Design

Hi, I want to remove a linked sketch symbol library so all my symbols from the library are in the same file as my designs.

Any ideas on how to best approach this?

10 comments

  • Alex HoffmanAlex Hoffman, 6 months ago

    I think the answer you're looking for is here https://www.sketchapp.com/docs/libraries/library-symbols

    1 point
    • , 6 months ago

      Thanks for your answer, they do talk about unlinking 1 symbol, to bad they don't offer a way to unlink a whole library at once.

      0 points
    • odeson yune, 1 month ago

      Actually, the right solution is in this link .

      At the end of the link.

      Organizing Imported Symbols You can keep track of all the external Symbols you’re using in your document, no matter what Library it came from. In the Inspector, click on the Symbol’s name, and choose Organize Imported Symbols… from the pop-up menu.

      A list of all the Library Symbols will appear in a dialog where they can be reviewed. With an item selected, you can choose to either edit a Symbol in its Library, or unlink it.

      enter image description here

      In this list of the library Symbols 1. You can use "cmd+A" to choose all these linked symbol 2. Then click the left bottom corner setting button to unlink them all from your file

      2 points
  • Hung Ashung, 5 months ago

    The follow script will unlink all imported symbols to local symbol. Backup your file, then running the script.

    var documentData = context.document.documentData();

    for (var i = 0; i < documentData.foreignSymbols().count(); i++) {

    var foreignSymbol = documentData.foreignSymbols().objectAtIndex(i);

    foreignSymbol.convertToLocalSymbolMaster();

    }

    To unlink imported symbols from a library, you can change the script like this.

    var documentData = context.document.documentData();

    for (var i = 0; i < documentData.foreignSymbols().count(); i++) {

    var foreignSymbol = documentData.foreignSymbols().objectAtIndex(i);

    // if (foreignSymbol..libraryID() == "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX") {

    if (foreignSymbol.sourceLibraryName() == "Library Name") {

    foreignSymbol.convertToLocalSymbolMaster();

    }

    }

    1 point
  • Syeef Karim, 6 months ago

    Double click on the symbol > Unlink from Library

    This will create a page called "Symbols" where it will act like a classic Symbol.

    0 points
  • Mai-Li Le, 1 month ago

    Select a linked symbol on an artboard to access the Symbols menu in the Inspector. The last option in the dropdown is "Organize Imported Symbols." Select all of the imported symbols in the window, hit the settings icon, and select "Unlink from Library" to batch unlink.

    0 points
  • Jan SemlerJan Semler, 6 months ago

    Under Preferences > Libraries you will find a list with active Libraries. You can select or deselect them. Maybe you find your settings there.

    0 points