Copy link to clipboard
Copied
I have a document with 300+ artboards, each with an icon on it, and all artboards are named with what the icon depicts. How can I quickly search for the icon I need? (right now I'm just scrolling around looking for a specific visual). Is there a better way to set this up? (ie, a symbol library? I tried to search those though, and couldn't find a search feature). Thank you.
Since you already have them set up as artboards, @Sergey Osokin has a great script for easily searching artboards. You can find it here.
Copy link to clipboard
Copied
Since you already have them set up as artboards, @Sergey Osokin has a great script for easily searching artboards. You can find it here.
Copy link to clipboard
Copied
@jduncan Thank you, this is exactly what I was looking for (no pun intended)!
Copy link to clipboard
Copied
You might look into Creative Cloud Libraries.
https://helpx.adobe.com/illustrator/using/creative-cloud-libraries-sync-share-assets.html
Copy link to clipboard
Copied
@jodmcc49 Thank you for the link. Unless something has changed, I don't see a way to search a library like, as an example for the "magnifying glass" icon. Seems you just scroll until you see it?
Copy link to clipboard
Copied
I have a similar question but specific to searching within the symbol library. Is there a way to search for a specific symbol in the library instead of scrolling down each time?
I looked in the github link posted by jduncan and did not find a script for searching in a symbol library.
Thank you.
Copy link to clipboard
Copied
The script I linked was for searching artboards (better fit for the OP's needs)....
If you need to search for the symbols in your documents Symbols palette, you can try the script below. It uses a searchable list box from the book ScriptUI for dummies by Peter Kahrel and the Symbols collection from the API (learn more). Whatever symbol you select in the dialog will be available in the script as the variable `symbol` (learn more).
Note: this does not search the actual symbols placed on the document artboard(s), just the base symbols in the palette...
Finally, I'm not sure what you plan to do with the selected symbol after selecting so let us know and we can help you with the next step(s) if you need it. Cheers!
/*
SearchableDocumentSymbolsDialog.jsx for Adobe Illustrator
---------------------------------------------------------
Display a searchable listbox dialog of all the symbols in the current document.
Uses the example dialog from ScriptUI for dummies by Peter Kahrel found at https://creativepro.com/files/kahrel/indesign/scriptui.html.
Created in response to this question on the Adobe forum:
https://community.adobe.com/t5/illustrator-discussions/create-a-searchable-icon-library/m-p/14730647#M412580
REVISED 2026-01-15:
- Expand search query match to match any part of the symbol name.
- Added error handling for no active documents, and documents without symbols.
- Added ability to double-click symbol name to select it.
- Added ability to add selected symbol to the document (from request: https://community.adobe.com/t5/illustrator-discussions/create-a-searchable-icon-library/m-p/15664070#M461163).
- Fixed error when exiting the popup with the Escape key.
*/
(function () {
//@target illustrator
// Check if a document is open
if (!app.documents.length) {
alert("Please open a document first.");
return;
}
var doc = app.activeDocument;
// Check if document has symbols
if (doc.symbols.length === 0) {
alert("This document has no symbols.");
return;
}
// get symbols from current document
var symbols = [];
for (var i = 0; i < doc.symbols.length; i++) {
symbols.push(doc.symbols[i].name);
}
// show symbol picker
var picked = picker(symbols);
// exit if no symbol was picked (picker popup closed without a selection or by the Escape key)
if (typeof picked === "undefined") return;
// select symbol for later use
var symbol = doc.symbols.getByName(picked);
// do you want to add the selected symbol to the document?
var placeSelectedSymbol = Window.confirm(
"Add symbol '" + symbol.name + "' to the current document?",
false,
"Add Selected Symbol To Document"
);
// add selected symbol to the document
if (placeSelectedSymbol) {
var newSymbol = doc.symbolItems.add(symbol);
// move to page origin
newSymbol.top = 0;
newSymbol.left = 0;
}
// "type-ahead" listbox found in ScriptUI for dummies by Peter Kahrel (pgs. 37-38)
// https://creativepro.com/files/kahrel/indesign/scriptui.html
// NOTE: If you document has lots of symbols you may want to read the "Processing long lists" section (pgs. 39-40)
function picker(arr) {
var w = new Window('dialog {text: "Document Symbols", alignChildren: "fill"}');
var entry = w.add("edittext {active: true}");
var list = w.add("listbox", [0, 0, 250, 250], arr);
list.selection = 0;
entry.onChanging = function () {
var temp = this.text;
list.removeAll();
for (var i = 0; i < arr.length; i++) {
if (arr[i].toLowerCase().indexOf(temp.toLowerCase()) > -1) {
list.add("item", arr[i]);
}
}
if (list.items.length > 0) {
list.selection = 0;
}
};
// Allow symbol selection by double clicking it (closes window and continues)
list.onDoubleClick = function () {
w.close(1);
};
// We need the button to catch the Return/Enter key (CC and later)
w.add("button", undefined, "Ok", { name: "ok" });
if (w.show() === 1) {
return list.selection.text;
}
}
})();
Copy link to clipboard
Copied
This was exactly what I was looking for, or almost.
Can this be extended, so I get to place the symbol I search for? I'm not really a coder, besides very limited "Hello world" kind of experience, so I'm hoping a kind person might be able to help out here.
Copy link to clipboard
Copied
@stevenldk, hey I revied the original script above for your needs. After selecting a symbol, you will be promoted if you want to add the symbol to your current document. If you select yes, the selected symbol is added at the top-left of the current document.
I also made a few other improvement (as noted below). Let me know if this works for you. Cheers!
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more