Copy link to clipboard
Copied
I honestly can’t believe this.
In Photoshop 2025, the ability to right-click and batch clear layer styles is GONE. What are you thinking, Adobe? This has been a standard feature for YEARS and is essential for fast, efficient workflow — especially for UI/UX, web, and graphic designers who deal with dozens or hundreds of layers at once.
Now, the option is just greyed out when multiple layers are selected. Why would you remove something so basic and useful? Do your developers actually use Photoshop, or is this just an abstract experiment in making things harder for professionals?
I don’t want a workaround. I don’t want to write a script. I want the functionality that used to be there. This is not an upgrade — it’s a regression.
Please bring this feature back. Immediately.
Stop removing features we rely on. This is not innovation — it’s sabotage.
thank you! that would be amazing!
By @Indra L.5C67
Try this:
/*
Clear Layer Style From Selected Layers.jsx
Stephen Marsh
v1.0 - 8th August 2025
https://community.adobe.com/t5/photoshop-ecosystem-discussions/photoshop-2025-removed-batch-clear-layer-style-why/m-p/15449914
Special thanks jazz-y for the code to work with multiple selected layers
Based on:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/how-to-convert-multiple-shape-into-raterize-layer-at-one-go/td-p/15099483
h
...
Copy link to clipboard
Copied
Do you mean the Clear Layer Style option from the right-click context menu? It works for me on Windows, so it might be a Mac-related issue or something wrong with your machine. Wait for someone with a Mac to check, or try resetting your preferences, but be aware that unsaved actions and presets will be lost.
Copy link to clipboard
Copied
I think they mean that the option to Clear Layer Styles is greyed out when you are trying to do that to multiple layers at once. I just ran accros the same issue and I'm working on windows, too. It's quite annoying if you work with a lot of layers tbh
Copy link to clipboard
Copied
@Indra L.5C67 wrote:
I think they mean that the option to Clear Layer Styles is greyed out when you are trying to do that to multiple layers at once. I just ran accros the same issue and I'm working on windows, too. It's quite annoying if you work with a lot of layers tbh
This can be scripted, I'll look at it when I have time.
Copy link to clipboard
Copied
thank you! that would be amazing!
Copy link to clipboard
Copied
thank you! that would be amazing!
By @Indra L.5C67
Try this:
/*
Clear Layer Style From Selected Layers.jsx
Stephen Marsh
v1.0 - 8th August 2025
https://community.adobe.com/t5/photoshop-ecosystem-discussions/photoshop-2025-removed-batch-clear-layer-style-why/m-p/15449914
Special thanks jazz-y for the code to work with multiple selected layers
Based on:
https://community.adobe.com/t5/photoshop-ecosystem-discussions/how-to-convert-multiple-shape-into-raterize-layer-at-one-go/td-p/15099483
https://community.adobe.com/t5/photoshop-ecosystem-discussions/rasterize-flatten-layer-transparency-quickly/m-p/11393469
*/
#target photoshop
// Single history stage undo
app.activeDocument.suspendHistory("Clear Layer Style From Selected Layers", "main()");
function main() {
try {
// Capture the initial layer visibility and layer selection
var currentLayersState = getLayersVisiblity();
// Get the selected layers: courtesy of jazz-y
var s2t = stringIDToTypeID;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('targetLayersIDs'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var lrs = executeActionGet(r).getList(p),
sel = new ActionReference();
// Loop over the selected layers: courtesy of jazz-y
for (var l = 0; l < lrs.count; l++) {
sel.putIdentifier(s2t('layer'), p = lrs.getReference(l).getIdentifier(s2t('layerID')));
(r = new ActionReference()).putIdentifier(s2t('layer'), p);
(d = new ActionDescriptor()).putReference(s2t("target"), r);
//d.putBoolean(s2t("makeVisible"), false);
executeAction(s2t('select'), d, DialogModes.NO);
// Clear layer style
disableLayerStyle();
}
// Restore the initial layer visibility and selection
setLayersVisiblity(currentLayersState);
} catch (e) {
alert("Error: " + e.message);
}
}
///// Functions /////
function getLayersVisiblity() {
// by jazz-y
var s2t = stringIDToTypeID,
t2s = typeIDToStringID;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('targetLayersIDs'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var targetLayers = executeActionGet(r).getList(p),
seletion = [],
visiblity = {};
for (var i = 0; i < targetLayers.count; i++) seletion.push(targetLayers.getReference(i).getIdentifier());
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('numberOfLayers'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var len = executeActionGet(r).getInteger(p);
for (var j = 1; j <= len; j++) {
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('layerSection'));
r.putIndex(s2t('layer'), j);
if (t2s(executeActionGet(r).getEnumerationValue(p)) == 'layerSectionEnd') continue;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('layerID'));
r.putIndex(s2t('layer'), j);
var id = executeActionGet(r).getInteger(p);
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('visible'));
r.putIndex(s2t('layer'), j);
var visible = executeActionGet(r).getBoolean(p);
visiblity[id] = visible;
}
return {
selection: seletion,
visiblity: visiblity
};
}
function setLayersVisiblity(layersStateObject) {
// by jazz-y
var s2t = stringIDToTypeID;
for (var a in layersStateObject.visiblity) {
makeVisible = layersStateObject.visiblity[a] ? "show" : "hide";
(r = new ActionReference()).putIdentifier(s2t('layer'), a);
(d = new ActionDescriptor()).putReference(s2t('target'), r);
executeAction(s2t(makeVisible), d, DialogModes.NO);
}
if (layersStateObject.selection.length) {
var r = new ActionReference();
for (var i = 0; i < layersStateObject.selection.length; i++)
r.putIdentifier(s2t("layer"), layersStateObject.selection[i]);
(d = new ActionDescriptor()).putReference(s2t("target"), r);
d.putBoolean(s2t("makeVisible"), false);
executeAction(s2t("select"), d, DialogModes.NO);
} else {
(r = new ActionReference()).putEnumerated(s2t("layer"), s2t('ordinal'), s2t('targetEnum'));
(d = new ActionDescriptor()).putReference(s2t('target'), r);
executeAction(s2t('selectNoLayers'), d, DialogModes.NO);
}
}
function disableLayerStyle() {
var s2t = function (s) {
return app.stringIDToTypeID(s);
};
var descriptor = new ActionDescriptor();
var reference = new ActionReference();
reference.putEnumerated(s2t("layer"), s2t("ordinal"), s2t("targetEnum"));
descriptor.putReference(s2t("null"), reference);
executeAction(s2t("disableLayerStyle"), descriptor, DialogModes.NO);
}
https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html
Copy link to clipboard
Copied
This works like a charm! You're a life saver, THANK YOU!!!
Copy link to clipboard
Copied
This works like a charm! You're a life saver, THANK YOU!!!
By @Indra L.5C67
You're welcome, glad to help!
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Thanks @jane-e, standing on the shoulders of giants!
Copy link to clipboard
Copied
It's there for me running 26.5.0 on Mac Ventura 13.7.5 – Just make sure that your contextual click is on the name text or to the blank area to the right of the name text in the layer panel or on the "fx" icon, just not on the layer thumbnail or mask.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now