Recolor Selection
Script for Adobe Illustrator
✦ Available exclusively on Patreon for Pro supporters.
ㅤ
Description
Recolor Selection is an Adobe Illustrator script for finding and replacing colors throughout selected artwork from one focused, resizable dialog. It detects colors in fills, strokes, text, compound paths, grouped objects, and gradient-fill stops, then lets you map each detected source color to a new destination color while previewing the result directly on the canvas.
ㅤ
Features
Recolor Selection streamlines precise color remapping across simple or complex Illustrator selections while keeping every detected source color visible and independently controllable.
- Automatic Color Detection: Finds colors throughout the selected artwork and arranges them into an easy-to-scan list sorted by hue, saturation, and lightness.
- Individual Color Mapping: Assigns a separate destination color to every detected source color using Illustrator's native color picker or hexadecimal input.
- Shared Color Mode: Replaces all checked source colors with one shared destination color.
- Selective Recoloring: Enables or disables individual color rows and provides Select All, Invert Selection, and Deselect controls.
- Property Controls: Limits recoloring to Fill, Stroke, Gradients, Text, or any combination of those properties.
- Color List Filtering: Narrows selections containing more than ten colors to a visible working set based on a reference color and adjustable similarity threshold.
- Live Preview: Displays color changes on the Illustrator canvas before they are confirmed.
- Flexible Interface: Supports a resizable color list with automatic scrolling when the rows exceed the available height.
- View Controls: Hides selection edges or fits the selected artwork in the document window for a clearer preview.
- Safe Cancellation: Reverts previewed color changes when the dialog is cancelled.
ㅤ

ㅤ
Installation
1. Download the Recolor Selection.jsx script file.
2. Place the script in your Adobe Illustrator Scripts folder:
⮑ Mac: /Applications/Adobe Illustrator (Version)/Presets/(Language)/Scripts
⮑ Windows: C:\Program Files\Adobe\Adobe Illustrator (Version)\Presets\(Language)\Scripts
3. Restart Adobe Illustrator if it's already running
4. Access the script via File > Scripts > Recolor Selection
5. Alternatively, run it directly via File > Scripts > Other Script... and browse to the file location
Tip: You can also drag and drop the .jsx file directly onto the Illustrator workspace to run the script instantly – no installation needed.
ㅤ
Using the Script
ㅤ
Launch the Script
Open an Illustrator document and select the artwork whose colors you want to change. Launch Recolor Selection from the Scripts menu or run the JSX file directly:
ㅤ

ㅤ
The script examines the selected artwork recursively, so a single selected group can include many recolorable objects.
The scan can identify RGB, CMYK, grayscale, and spot colors from:
- Object fills
- Object strokes
- Individual text character fills and strokes
- Objects inside selected groups
- Compound-path fills and strokes
- Individual stops in fill gradients
Only colors found in the active selection are listed or changed. Unselected artwork remains untouched.
Note: Pattern-colored artwork is not supported for source-to-destination replacement. Gradient, pattern, and no-color values cannot be selected as replacement colors.
ㅤ
ㅤ
➊ Review the Detected Colors
The Found Colors panel displays each detected source color as a separate row. Duplicate solid colors are consolidated by their native color values where possible. Gradient stops remain independently addressable, so identical-looking stops may appear in separate rows. The list is sorted by hue, saturation, and lightness to make related colors easier to compare.
Each color row contains:
- A checkbox that determines whether the color will be replaced
- The original source-color swatch
- A read-only RGB hexadecimal representation of the source color
- An arrow showing the source-to-destination relationship
- A destination-color swatch
- An editable destination hexadecimal value
CMYK, grayscale, and spot colors are converted to an RGB approximation for the swatch display, hexadecimal value, similarity filtering, and source-color matching. When shared-color mode is off, each destination initially matches its source appearance. This keeps the artwork unchanged until you specify a replacement.
ㅤ
ㅤ
➋ Choose Which Colors to Replace
Leave a color row checked when that source color should be included. Uncheck a row to exclude it from the operation; its controls become inactive and its arrow changes to a cross.
Use the controls below the color list to manage many rows quickly:
- Select All: checks every displayed color row.
- Invert Selection: reverses the checked state of every displayed row.
- Deselect: unchecks every displayed color row.
These buttons affect the rows currently displayed in the list. Row choices apply only to the current artwork selection and are not stored between script sessions.
ㅤ
ㅤ
➌ Set Individual Replacement Colors
Set a destination color independently for each checked row. You can use either Illustrator's native color picker or a hexadecimal value.
To use the color picker:
- Click the destination-color swatch in the required row.
- Choose the new color in Illustrator's color picker.
- Confirm the picker to update the destination swatch and hexadecimal field.
To enter a hexadecimal color:
- Click the destination hexadecimal field.
- Enter a valid hexadecimal color value.
- Confirm the entry to update the destination swatch and preview.
If an invalid hexadecimal value is entered, the field returns to its last valid color. The native picker accepts RGB, CMYK, grayscale, and spot colors and preserves the chosen native color type when applying the replacement. A hexadecimal entry always creates an RGB replacement. Gradient, pattern, and no-color results are not accepted by the destination color picker.
ㅤ
ㅤ
➍ Use One Color for Multiple Source Colors
Enable Use one color for checked colors when several source colors should share one destination color. The shared swatch and hexadecimal field become active, while the individual destination controls become unavailable for checked rows.
To use shared-color mode:
- Check Use one color for checked colors.
- Choose a color from the shared swatch or enter a valid hexadecimal value.
- Check or uncheck source-color rows to control which colors receive the shared destination.
- Review the combined result with Preview enabled.
Disabling shared-color mode restores the individual destination colors that were present before the mode was enabled. The shared-color setting is remembered between sessions, but the shared color value itself is not saved. On each launch, the shared color starts from the first source color in the sorted list.
ㅤ
ㅤ
➎ Choose the Artwork Properties to Recolor
Use the Apply to panel to define which kinds of color properties the script may change. Enable any combination needed for the current operation.
- Fill: changes solid object fills, including compound-path fills.
- Stroke: changes solid object strokes, including compound-path strokes.
- Gradients: changes matching stops in fill gradients.
- Text: changes both character-level text fills and text strokes. Text is controlled independently of the Fill and Stroke options.
Disabling an option protects that property from the replacement operation. Changes to these options update the artwork immediately when Preview is enabled.
ㅤ
ㅤ
➏ Filter a Large Color List
When the selection contains more than ten detected colors, filter controls appear above the color list. Filtering makes it easier to isolate colors similar to a chosen reference. Similarity is measured as RGB distance, and the filtered result becomes the current working set.
To filter the list:
- Click the Filter label or reference-color swatch and choose a reference color, or type a valid hexadecimal value.
- Adjust Threshold with the scrollbar or numeric field.
- Use a lower threshold to show colors closer to the reference.
- Use a higher threshold to include a broader range of colors.
- Click All to reset the threshold to 100 and show the complete color range.
Use the Up and Down arrow keys in the threshold field to change the value by one. Hold Shift while pressing an arrow key to change it by ten. Clicking the Threshold label or right-clicking the threshold scrollbar also resets the value to 100.
Set the filter before configuring replacements. Every filter change rebuilds the visible rows, restores any active preview, and resets the displayed rows to their initial checked state. In individual mode, their destinations return to the source colors; in shared-color mode, the shared destination is reapplied. Only the rows visible after filtering participate in Preview or OK.
The reference color starts at #808080 and is not saved between sessions. The numeric threshold is remembered. A threshold of 0 shows only exact RGB matches; 100 includes the entire RGB range.
ㅤ
ㅤ
➐ Preview and Inspect the Result
Keep Preview enabled to see replacement colors on the Illustrator canvas as you edit them. Turning Preview off restores the original colors until the changes are applied with OK.
Use the additional view controls when inspecting detailed artwork:
- Hide Edges: temporarily deselects the artwork to hide selection edges and bounding boxes. The script retains its original selection references so recoloring and preview continue to work.
- Fit in Window: zooms and centers the selection for a clearer view.
- Turning Fit in Window off restores the view that was active before fitting.
Hide Edges and Fit in Window can be used together. The script temporarily restores the selection when needed for fitting, then deselects it again.
ㅤ
ㅤ
➑ Apply or Cancel the Recoloring
Review the checked rows, destination colors, Apply to options, and canvas preview before closing the dialog.
- Click OK to keep the specified replacements for the checked, currently displayed rows.
- Click Cancel to revert previewed color changes and close without recoloring the artwork.
- If Preview is disabled, clicking OK performs the replacements before closing.
- If no destination differs from its source, the script reports that no color changes were detected.
When Preview is enabled, OK keeps the colors already displayed on the canvas. When Preview is disabled, OK applies the configured replacements and reports how many source colors and instances were updated. When Hide Edges is active, the original selection is restored as the dialog closes.
ㅤ
Tip: The script automatically saves its current non-color settings and loads them the next time it runs.
ㅤ
☻ Wrap-Up
Recolor Selection brings color discovery, controlled replacement, filtering, and live inspection into one practical workflow for selected Illustrator artwork. Use individual mappings for precise adjustments or shared-color mode for broad consolidation, then confirm the result only when the preview is ready.
ㅤ
ㅤ