#target photoshop var doc = app.activeDocument; var outputFolder = Folder.selectDialog("Select output folder"); if (outputFolder) { var layers = doc.artLayers; var backgroundLayer = null; // Find the background layer for (var i = 0; i < layers.length; i++) { if (layers[i].isBackgroundLayer) { backgroundLayer = layers[i]; break; } } for (var i = 0; i < layers.length; i++) { var layer = layers[i]; // Make sure all layers are hidden first for (var j = 0; j < layers.length; j++) { layers[j].visible = false; } // Make the current layer visible layer.visible = true; // Duplicate the document var newDoc = doc.duplicate(); // Remove all layers except the current one and the background layer for (var k = newDoc.artLayers.length - 1; k >= 0; k--) { var artLayer = newDoc.artLayers[k]; if (artLayer != layer && (backgroundLayer && artLayer != backgroundLayer)) { artLayer.remove(); } } // Save as PNG var pngFile = new File(outputFolder + "/" + layer.name + ".png"); var pngSaveOptions = new PNGSaveOptions(); pngSaveOptions.compression = 9; // Compression level (0-9) newDoc.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE); // Close the duplicated document newDoc.close(SaveOptions.DONOTSAVECHANGES); } alert("Layer export is complete."); }