Photoshop: Faster saving of PNGs when using "Save as"

  • 1
  • Idea
  • Updated 4 years ago
  • (Edited)
To quickly save PNGs I often use "Save as" and select PNG as the file format.

Clicking "Save" presents a dialog where I have to choose PNG options (Interlace: "None" or "Interlace").

For me, this unecessary dialog box adds an extra click every time I save a PNG (10s of times every day). I've never needed to select "Interlace", and there's no checkbox to "remember my choice" or "Don't show this again"

Please remove the PNG options dialog box or allow users to hide it in the options.


Photo of Jørgen T

Jørgen T

  • 1 Post
  • 0 Reply Likes

Posted 7 years ago

  • 1
Photo of David Dobish

David Dobish, Senior QE Photoshop

  • 197 Posts
  • 50 Reply Likes
You can go through Save for Web to Save a PNG without this dialog. You can record an action to do the Save for Web step and then assign a hot key to the action if you want to get fancy. No dialog. Just checked.
Photo of bobo


  • 18 Posts
  • 0 Reply Likes
Save for Web have its own output path stored (which is exactly right for exporting files to webpage folder structure) so its not possible to use for edit file and save as png if the file is each time in different folder. Then instead of one click to OK of png options, one have to browse through file directories. ITs not a win scenario. Its also annoying for me to have this dialogue because i never had to use it. Please make the option to get rid of this.
Photo of bobo


  • 18 Posts
  • 0 Reply Likes
And in addition the only option which would have reason here is the compression setting. Which can speed up the export really a lot.
Photo of Jeffrey Tranberry

Jeffrey Tranberry, Sr. Product Manager, Digital Imaging

  • 15339 Posts
  • 2228 Reply Likes
Here's a workaround using a script (below).

If you save the text file with .js or .jsx extension and put it in Presets/Scripts and relaunch Photoshop you can bind a keyboard shortcut to it using Edit>Keyboard Shortcuts


try {

var outputFolder = File.saveDialog("Save as PNG");

catch(e) {


var idsave = charIDToTypeID( "save" );
var desc100 = new ActionDescriptor();
var idAs = charIDToTypeID( "As " );
var desc101 = new ActionDescriptor();
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIT = charIDToTypeID( "PGIT" );
var idPGIN = charIDToTypeID( "PGIN" );
desc101.putEnumerated( idPGIT, idPGIT, idPGIN );
var idPNGf = charIDToTypeID( "PNGf" );
var idPNGf = charIDToTypeID( "PNGf" );
var idPGAd = charIDToTypeID( "PGAd" );
desc101.putEnumerated( idPNGf, idPNGf, idPGAd );
var idCmpr = charIDToTypeID( "Cmpr" );
desc101.putInteger( idCmpr, 9 );
var idPNGF = charIDToTypeID( "PNGF" );
desc100.putObject( idAs, idPNGF, desc101 );
var idIn = charIDToTypeID( "In " );
desc100.putPath( idIn, new File( outputFolder ) );
var idDocI = charIDToTypeID( "DocI" );
desc100.putInteger( idDocI, 1522 );
var idCpy = charIDToTypeID( "Cpy " );
desc100.putBoolean( idCpy, true );
var idLwCs = charIDToTypeID( "LwCs" );
desc100.putBoolean( idLwCs, true );
var idsaveStage = stringIDToTypeID( "saveStage" );
var idsaveStageType = stringIDToTypeID( "saveStageType" );
var idsaveSucceeded = stringIDToTypeID( "saveSucceeded" );
desc100.putEnumerated( idsaveStage, idsaveStageType, idsaveSucceeded );
executeAction( idsave, desc100, DialogModes.NO );