Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've created a design in Photoshop CS6, and used a large number of smarts object which made the workflow more easy (at least for me). Now I've finished working on the design, and I want to "unsmart" all the objects due to the large file size of the PSD. I do not want to do Rasterize Layer because I want to keep every layer which was originally on the Smart Object. I want to convert each smart object (some of them have Layer Styles applied) to a group (folder) which will have all the layers inside + the FX applied originally to the Smart Object and it will be in the exact location of where the smart object was before.

I couldn't find anything about this in the internet.

Also, some of the smart objects has inner smart objects inside of them. I don't mind doing this manually, but to copy & paste every layer in smart object is very annoying way, because I must scale and transform the layers pasted.

share|improve this question
Figured I'd do a quick search before going to bed. This seems pretty legit: – Joonas Jul 29 '13 at 22:08
Thanks, I'll look into it. couldn't find that myself (I did do some search before asking) – matan129 Jul 29 '13 at 22:09
cool find @Joonas – Adam Schuld Jul 29 '13 at 22:10
@Joonas Nice script, thanks. It doesn't move or scale the object though. If you'll write this as answer I'll accept it, for the rep. – matan129 Jul 29 '13 at 22:15
@matan129 I don't think that's possible, only applying the effects from the smart layer is the only thing that you can transfer. I'd be surprised if anyone could write a script applying the same transformations to each individual object of the smart object, because you are transforming it with respect to the group not the singular object-- the results would never be the same. – Adam Schuld Jul 29 '13 at 22:19
up vote 7 down vote accepted
  • Double-click the Smart Object to open it in a new window
  • Highlight all the layers in the .psb (smart object) which opens
  • Choose Layer > Group from the menu
  • Hold the Shift key down and drag from the Smart Object Window to your original document window with the Move Tool.
  • Drag the fx icon from the Smart Object layer to the new Layer Group you just dragged over
  • Delete the Smart Object layer.

The only caveats to this method are scale and positioning. You may need to reposition some groups depending on how they interact with the edges of the original document. And if you scaled the Smart Object layer, you may need to scale the group as well.

This method is far from perfect, but it's about the only method I'm aware of.

Per comments, (originally found by Joonas) there appears to be a script written by Kamil Khadeyev which automates some of this. You can view details of the script at the Captain Awesome web site. I make no claims as to the functionality of the script having never used it myself.

share|improve this answer
The script here automates this. Scaling is still manual both ways (your and the script). – matan129 Jul 29 '13 at 22:25
Why would someone downvote this? – Scott Jul 29 '13 at 23:55
I thought it was in poor form to answer 15 minutes after me essentially reformatting my answer and my above comments without adding anything unique. If you would have added something of substance I wouldn't have touched it. – Adam Schuld Jul 30 '13 at 3:38
@AdamSchuld My answer is considerably different than yours. I actually provided steps, you did not. And my answer was posted at pretty much the same time yours was. The only edit I made was to add a link to the script Joonas found. Votes should not be cast in a retaliatory fashion. That helps no one. In addition, multiple answers are encouraged on Stack Exchanges sites. – Scott Jul 30 '13 at 6:01
@Scott I don't want to flood the comments with this discussion, but briefly there was no ill-intent behind it; You've obviously been here a lot longer than me. I made a subjective decision based on the substance of the answer and the timestamp 15 minutes after. – Adam Schuld Jul 30 '13 at 11:40

Unfortunately, smart objects are dumb in that respect.

With all the magic that smart layers allows you to do, the negative is that there isn't an easy way to ungroup them efficiently. The only way to bring the contents of that smart object into your Photoshop document is to export the smart object as a .psb file, or edit the smart object and then manually duplicate the layers back into the original document.

If you had filter effects on the smart object you would then need to reapply them. If at all possible, I would duplicate the smart object and then rasterize the copy, but if you have no other choice you might have to manually go through the contents of the smart object to bring them back to the original document.

Edit: Link to scripts that allow the expansion of a smart object - Kam88's blog - this is a custom script that you can apply in your presets / scripts folder and use to expand the smart object. Works like a charm.

Credit to Joonas

share|improve this answer

I have a pretty effective method that works -- although it's not the most elegant workaround. If you double click on the smart object in your 'Layers' panel, it'll open up in a new window.

Obviously, you can edit the contents of the smart object this way. But, if you select all the layers of your smart object -- again, in the "layers" panel -- then hover your move tool over the canvas, you'll be able to drag and drop all the layers onto the original canvas's window.

You might have to drag & drop to get the alignment of things back in order, but overall it's a workaround for an otherwise difficult problem.

share|improve this answer

Here's an easy way to unsmart a smart object in Adobe Photoshop CC:

  1. on a Mac control + click the smart object layer
  2. select "select pixels"
  3. go into the Layer menu / New / Layer Via Copy or click command + J

Note: this his non-destructive to the smart layer.

share|improve this answer

I first tried Captain Awesome script but not suit to me, so I wrote my own. But it will not works on CS6. Supported version is PS CC 2015.1.2+


  • Puts content exactly on the same place.
  • Works with multiple layers simultaneously.
  • Respects selected composition in the smart object.
  • Scales content if the "SO" has different size.
  • Also scales layer effects.

Download here:

share|improve this answer
  1. Open Smart Object by double-clicking icon at the left edge of SO layer.
  2. Select all layers in the Smart Object
  3. Right-click on the selected layers and Choose Duplicate.
  4. From destination list, choose Main (or New) Doc

You're done. The new duplicated layers retains any style mods, as well. Xor42

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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