I have a big PSD file with hundreds of text layers all placed in a lot of folders and subfolders.

Some of those layers use font A, the others use font B.

Now I want to replace the font in all layers using font A by font C without altering those using font B. How do I do that ? (obviously without editing each layer by hand, which would take hours)

I guess this could be done with scripting but I have basically zero knowledge about this (I just know how to record and use actions, nothing more advanced) so I have no clue on how to proceed - and am not even sure it is the solution.

Thanks for your help ;)

  • 1
    It doesn't help you much now, but in future use paragraph styles.
    – Cai
    Jun 18, 2016 at 19:46

1 Answer 1



I wrote a script that should do what you want. Save it to a file with a .jsx extension and run the script with your document open. It will prompt you for the name of the font you want to replace, then the font you want to replace with. You will need to enter the PostScript name of the fonts.

var fontToReplace = prompt("Which font would you like to replace?","\(PostScript font name\)","Replace Font");
var replacementFont = prompt("with...","\(PostScript font name\)","Replace Font");

var doc = app.activeDocument;

function replaceFont(target)
    var layers = target.layers;
    for (var i = 0; i < layers.length; i++) {

        if (layers[i].typename == "LayerSet") {


        } else if (layers[i].kind == LayerKind.TEXT) {

            if (layers[i].textItem.font == fontToReplace) {
                layers[i].textItem.font = replacementFont;

Original Answer:

So this isn't the easiest, fastest or cleanest solution but it's the best I can think of right now!

  1. Disable the font you want to change (i.e. using a font manager)
  2. Using the layers panel, filter by type layers.
  3. All the layers with a missing font (i.e. the font you want to change) will have a little yellow warning triangle—select them.
  4. Use the character panel to change the font.

Filter layers by type

It's not the fastest but it's a bit faster than trawling through all your layers and figuring out what is what. Writing a script to do this would probably be the best way to go.

  • Thank you very much for this answer and this script. However, while I have no doubt it works like a charm, I can't figure out where I can find the PostScript name of my fonts (I am a Windows user and only found solutions for iOS). So I guess I'm going to stick to the alternative method of disabling fonts.
    – user67482
    Jun 21, 2016 at 14:57
  • 1
    Use this script first to list all the fonts used in your PSD. Should work for you :)
    – Cai
    Jun 21, 2016 at 15:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.