205

Is there a way to copy layers from one Photoshop document to another?

I was working on a project earlier on that required this but I didn't know how this could have been done.

(Procedure not as simple as Illustrator, where a simple Ctrl | Cmd + C and Ctrl | Cmd + V would work.)

1
  • 10
    Have the answers solved your problem? If not, could you edit the question to give more information? If so, remember to mark an accepted answer =)
    – Atav32
    Aug 2, 2012 at 17:13

10 Answers 10

245

You can simply drag the layer from the Layers panel and drop it on the new document. That can be tricky however if your view is setup such that the two documents aren't side by side (at the bottom is description of how to do this with tabs).

The other way to transfer layers between open documents is using the Duplicate Layer function. When you right-click on a layer in Layers panel you can choose Duplicate Layer... from the menu. The Duplicate Layer dialog box then asks you which document to use as the Destination.


In tabbed view: choose needed layers in Layers panel, grab the Move tool (V), click and hold in the document window (not the Layers panel, just on the image itself), drag your cursor to the title of the needed tab and wait till document view changed (don't release left mouse button yet), move your mouse cursor into the document window and release left mouse button (hold down Shift to place layer in the center of the document).

8
  • 6
    Note that Duplicate Layer won't show your destination when it's in a mode that doesn't accept layers (ie. indexed color). Change it to RGB first and try again.
    – user5508
    Aug 12, 2012 at 8:27
  • 5
    When dragging layers from one document to another, pressing Shift when release the mouse will align to the center of the destination document. Cheers! (^_^) Aug 13, 2012 at 3:03
  • This is something that has always bothered me in photoshop, I can't see the reason they wouldn't implement a copy for layers... Anyway, duplicate beats the heck out of repositioning my windows every time I want to move something around :) Thanks! May 14, 2014 at 16:02
  • shrug copy-paste applies to pixels, this is copying a layer. It's probably better that they made it a separate button, since it's a separate operation.
    – jhocking
    Aug 23, 2014 at 18:25
  • Say you want to copy from tab A to B, just drag from A to B (B will switch to become the active tab), then drop on the canvas.
    – IROEGBU
    Feb 14, 2018 at 12:20
51

I always do it the Duplicate route:

  • Through the Layers' panel. Select the layer you want to duplicate. Right click and Duplicate Layer

enter image description here

or

  • Through the top menu. Select the layer you want to duplicate. Then, in the top menu, select Layer > Duplicate Layer.

enter image description here

This will open a Dialog box that one can use to define:

  • The name of the new layer

  • The destination: current document, another existing document, or a new document. For this case, we will want to select the name of the other document.

enter image description here

This works well in the Tabs View.

The whole dragging business is not my thing. I often fear it will get handled incorrectly or at least strangely.

1
  • Upvote for your answer. I do agree the dragging business is not my thing either. It is often a hit or miss.
    – Antony
    Mar 29, 2017 at 21:50
21

Easiest way is to select the layers you want to copy and drag and drop them into the new document.

15

Similar to jhockings answer but a little quicker: You can always right-click on the layer(s) you want to copy and select "duplicate layer." From there you get a dialog box and you can select the destination of the layer. The current document is selected by default but you can change it to an open document or new document.

If you want to put the duplicated layer in a specific location in an open document, make sure to select the folder you would like to put it in before you duplicate the layer. You do this by literally selecting the desired folder in your layers palette for the destination document.

If you find you need to repeat this action many times, you can always make a new action for it. Open the Actions Palette and create a new action - set your hot key (I use F2). Then, to record the action, click the Options button (upper right corner of the palette window) and choose Insert Menu Item. Select Layer>Dupicate Layer. Then click Okay. Now, when you hit F2 while a layer is active, it will bring up the duplicate dialog box. Pick your destination and you're done! Just be careful when choosing hot buttons because it can override some of the default actions of photoshop.

12

You can just drag the layer from one project to another, just open the two projects and go to Window, Arrange and 2up Vertical and highlight the layer you want to copy and just drag it across

enter image description here

0
12

Here's my obligatory Javascript macro for copying layers from one Photoshop document to another for anyone familiar with scripting Photoshop. Tried and tested in CS 5.5 on the mac.

sourceDocumentName, targetDocumentName and layersToCopy are the only variables you need to edit to your needs.

On the Mac, you can just save as something like copyLayersBetweenDocs.jsx, then drag-n-drop the script file on the Photoshop icon in the dock to run. On Windows, you have to save it in the scripts folder C:\Program Files\Common Files\Adobe\Startup Scripts CS5\Adobe Photoshop and open it from Photoshop

#target photoshop
app.bringToFront();

var sourceDocumentName = 'source-doc';
var targetDocumentName = 'target-doc';

// populate this array with whatever the names of the layers 
// you want to copy are

var layersToCopy = new Array(
  'road-scenery',
  'car',
  'wheels',
  'front-passenger',
  'rear-passenger'
);

// alternatively, specify the name of a layer group containing
// the layers you want to copy over. 
// Just uncomment the following line

//var layersToCopy = 'layer-group-to-copy';

copyLayers( layersToCopy, sourceDocumentName, targetDocumentName );

/**
 * Copy layer from one document to another
 * @param {string|Array}  layersToCopy
 * @param {string}        sourceDocumentName
 * @param {string}        targetDocumentName
 */
function copyLayers( layersToCopy, sourceDocumentName, targetDocumentName ) {
  var
    sourceLayer,
    targetLayer,
    sourceGroup;

  var sourceDoc = app.documents[sourceDocumentName];
  var targetDoc = app.documents[targetDocumentName];


  if ( app.activeDocument != sourceDoc ) {
    app.activeDocument = sourceDoc;
  }

  if ( typeof layersToCopy === 'string' ) {
    sourceGroup = sourceDoc.layerSets.getByName( layersToCopy );
    targetLayer = sourceGroup.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING )
  }
  else if ( Object.prototype.toString.call( layersToCopy ) === '[object Array]' ) {
    for ( var i = 0; i < layersToCopy.length; i++ ) {
      sourceLayer = sourceDoc.artLayers.getByName( layersToCopy[i] );
      targetLayer = sourceLayer.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING );
    }
  } 
}
11

As already mentioned, you can simply grab the layer(s) out of the layers palette and drop them in the new document if the windows are side-by-side. There's a trick you can use if you're not viewing them side-by-side:

  1. Make sure you're using the move tool (V)
  2. Select your layers
  3. Drag them up to the tab of the destination, starting from somewhere within the image itself (not the layers palette).
  4. Wait a moment, and the destination image will open on the screen. Then you can drop the layers in that image.

This trick works in CS4 and CS5; not sure about earlier versions.

1
  • I should have specified that you have to drag them off the image window, not from the layers palette. You can select them in the palette, but then drag from the image up to the tab. I'll edit my answer to reflect that.
    – Crys
    Apr 11, 2011 at 16:28
9

Link the layers on the layers palette, and make sure you also link layer masks. Then drag and drop (possibly holding shift if the documents are the same size or you want to center the layers) to the other document.

If you want to align the artwork precisely, put them all in a folder and choose blending mode exclusion, then transform.

9

This is a quick way if you want to export some parts your design to a PNG or JPG:

  1. Select the layer you want to copy
  2. Right click, convert it to a smart object
  3. Double click the layer, you will be prompted with Smart Object detail.
  4. Click Ok, then you have the layer within a new document.

You will get all the layer styles brought to you and the canvas size is trimmed automatically to fit your layer width and height. From here you can save it as a new PSD file or export it to another format.

This would be very helpful for web designer when exporting web elements where you would want to export individual items separately. The drawbacks of this technique is: when you create a smart object, Photoshop saves your layer in a separate file which could lead to extra memory usage.

-1

To be able to copy and paste, I do this. Open the layer I want to copy, in most cases my logo, and do Select All (Ctrl + A). Right click on layer then and choose Rasterize layer. Then Ctrl + C for copy, go to new document, and do Ctrl + V for paste. Works for me.

2
  • 4
    Sorry Tracey, but that's actually a pretty bad practice. If you have to Rasterize a layer so that you can copy it, that means that you're destroying whatever resolution-independent vector information there was in that layer. You should really try some of the other methods listed above so you get the benefit of preserving your information. I'm sure your technique "works for you" but why not try a new (and hopefully better) way of doing things?
    – Tom Auger
    Oct 4, 2012 at 20:12
  • I do what Tracey lists only without the Rasterize step. But then, I'm pretty new to this. I need a tutorial for Photoshop that tells a web developer how to get design and icon information out of a file. :)
    – John Fiala
    Mar 17, 2014 at 19:12

Not the answer you're looking for? Browse other questions tagged or ask your own question.