{"course":{"slug":"image-editing","title":"Editing an Image","url":"https://addaly.com/learn/image-editing","level":"beginner","track":"create"},"lesson":{"slug":"smart-objects-and-linked-files","title":"One file, forty mockups, one change","url":"https://addaly.com/learn/image-editing/smart-objects-and-linked-files","position":16,"of":78,"minutes":9,"answer":"A smart object stores the original and re-renders it through your transform and filters each time, which is what makes scaling reversible, filters re-editable and contents swappable, at the cost of file size, render lag.","keyIdea":"A smart object stores the original and re-renders it through your transform and filters each time, which is what makes scaling reversible, filters re-editable and contents swappable, at the cost of file size, render lag, and a portability gap that GIMP does not close."},"body":{"format":"markdown","text":"## A container, not a layer\n\nConvert a layer to a smart object and the original pixels move inside a container. What you see on the canvas is a rendering of those contents at the current transform. The contents themselves are untouched.\n\nThat gives you three things an ordinary layer cannot do.\n\n**Non-destructive transforms.** Scale a smart object to 20 per cent, work for an hour, scale it back to 100 per cent, and it is sharp. A normal layer scaled down has thrown away the pixels; scaling back up interpolates from what survived. The smart object re-renders from the stored original each time.\n\n**Smart filters.** Any filter applied to a smart object becomes a re-editable entry beneath it, with its own mask and its own blend mode. Double-click the filter's name a week later and the dialogue opens with your settings. In GIMP and most free editors, a filter is applied and gone.\n\n**Contents you can replace.** Right-click and *Replace Contents*, choose a different file, and everything (the transform, the smart filters, the mask, the warp) is re-applied to the new image.\n\n## The mockup workflow this enables\n\nThis is the practical payoff and it is worth doing once to see it.\n\nYou have a t-shirt photograph. You want to show a client's design on it. Put a flat rectangle where the print should sit, convert it to a smart object, warp it to follow the fabric's folds, set the layer to Multiply so the shirt's shading shows through, and mask it to the shirt's shape.\n\nNow double-click the smart object's thumbnail. It opens as its own document. Paste the design in, save, and close. The mockup updates with the design warped, shaded and masked exactly as you set it up.\n\nForty designs become forty double-clicks rather than forty warps. Every downloadable mockup PSD you have ever seen works this way, and building your own takes twenty minutes.\n\n## Embedded against linked\n\nA smart object can hold a **copy** of the source file inside the document, or a **link** to a file on disk.\n\n**Embedded** is self-contained. Send the PSD and everything travels with it. The file is large, and two documents using the same logo hold two independent copies that will drift apart.\n\n**Linked** (*Layer > Smart Objects > Convert to Linked*) stores a path. Update the logo on disk and every document using it updates. The file is small. And the link breaks the moment somebody moves the folder, renames the file, or sends you the PSD without the assets. Photoshop shows a warning badge and asks you to relocate it.\n\nThe rule that avoids grief: **linked for assets you control and reuse** (a logo, a price panel, a product cut-out used across a campaign) kept in a folder beside the document; **embedded for anything you are sending outside your machine**. *File > Package* collects a document and its linked assets into one folder, which is what you send.\n\n## What the free tools have\n\n**Photopea** supports smart objects, including opening the contents, editing and updating, and it reads Photoshop's smart objects in a PSD. Smart filters are partially supported: some open as re-editable, others are baked. For mockups it works.\n\n**Krita** has **file layers**: a layer that references an external image file and refreshes when that file changes on disk. That is exactly linked-smart-object behaviour, and Krita's version is arguably cleaner. It does not do smart filters.\n\n**Affinity Photo** has embedded documents and live filter layers, which cover the same ground under different names.\n\n**GIMP has no equivalent.** This is the most significant functional gap in GIMP for this kind of work, and it is honest to say so: scaling a layer down and back up in GIMP loses detail, and a filter applied is a filter baked. The workaround is to keep a duplicate of the original layer, hidden, at full size, and redo rather than re-edit.\n\n## The costs\n\n**Size.** Every embedded smart object is a full copy of its source. A document with eight embedded 40-megapixel photographs is several gigabytes before you have made an edit.\n\n**Speed.** The renderer re-renders the contents through the transform and every smart filter whenever anything changes. A smart object with three heavy filters on a large image makes every brushstroke lag.\n\n**Copies do not share.** Duplicating a smart object with Ctrl/Cmd+J gives you a linked pair: edit one, both change. *New Smart Object via Copy* gives you an independent one. Two people have burned an afternoon on that distinction; know which you made.\n\n**Portability.** A PSD full of smart objects and smart filters opens correctly in Photoshop and Photopea, approximately in Affinity, and poorly in GIMP. If the recipient's tool is unknown, ship a flattened TIFF alongside.\n\n## When to rasterise deliberately\n\nSmart objects are not free and not always right. Rasterise when the layer is finished, when you need a pixel-level tool on it (the clone stamp will not paint on a smart object without rasterising) and when the file has become slow enough that the re-editability is costing more than it is worth.\n\nThe discipline is the same as everywhere else in this block: keep the version that still has the smart object, then rasterise in a copy."},"check":{"question":"A designer builds a t-shirt mockup: a smart object warped to the fabric, set to Multiply, with a mask. They duplicate the layer with Ctrl/Cmd+J to make a second colourway, open the copy and replace its contents, and the first shirt changes too. What happened?","options":[{"text":"The mask is shared between duplicated layers, so editing either one propagates the change to both.","correct":false,"tempting":"Picks the wrong shared element: a duplicated layer gets its own mask, and a mask cannot change what image the contents show."},{"text":"Multiply mode composites both layers against the same base, so any change to one is visible through the other.","correct":false,"tempting":"Describes a rendering interaction rather than a data link: two independent smart objects in Multiply would show two different designs perfectly well."},{"text":"Ctrl/Cmd+J duplicates the reference rather than the contents, so both layers point at the same stored source; New Smart Object via Copy makes an independent one.","correct":true},{"text":"The smart object was linked rather than embedded, so both layers are reading the same file from disk.","correct":false,"tempting":"Names a real mechanism that would produce the same symptom but is not what happened here: the behaviour occurs with embedded objects too, because the duplicate shares the embedded source."}]},"prev":{"slug":"groups-clipping-and-pass-through","title":"Why an adjustment stopped working when you put it in a folder","url":"https://addaly.com/learn/image-editing/groups-clipping-and-pass-through"},"next":{"slug":"channels-and-saved-selections","title":"The panel where selections go to live","url":"https://addaly.com/learn/image-editing/channels-and-saved-selections"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'One file, forty mockups, one change', in Editing an Image. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/image-editing/smart-objects-and-linked-files (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"One file, forty mockups, one change","courseTitle":"Editing an Image","module":{"index":2,"slug":"the-non-destructive-workshop","title":"The non-destructive workshop"},"answer":null,"keyIdea":"A smart object stores the original and re-renders it through your transform and filters each time, which is what makes scaling reversible, filters re-editable and contents swappable, at the cost of file size, render lag, and a portability gap that GIMP does not close.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"a-container-not-a-layer","runs":[{"text":"A container, not a layer"}]},{"t":"p","runs":[{"text":"Convert a layer to a smart object and the original pixels move inside a container. What you see on the canvas is a rendering of those contents at the current transform. The contents themselves are untouched."}]},{"t":"p","runs":[{"text":"That gives you three things an ordinary layer cannot do."}]},{"t":"p","runs":[{"text":"Non-destructive transforms.","b":true},{"text":" Scale a smart object to 20 per cent, work for an hour, scale it back to 100 per cent, and it is sharp. A normal layer scaled down has thrown away the pixels; scaling back up interpolates from what survived. The smart object re-renders from the stored original each time."}]},{"t":"p","runs":[{"text":"Smart filters.","b":true},{"text":" Any filter applied to a smart object becomes a re-editable entry beneath it, with its own mask and its own blend mode. Double-click the filter’s name a week later and the dialogue opens with your settings. In GIMP and most free editors, a filter is applied and gone."}]},{"t":"p","runs":[{"text":"Contents you can replace.","b":true},{"text":" Right-click and "},{"text":"Replace Contents","i":true},{"text":", choose a different file, and everything (the transform, the smart filters, the mask, the warp) is re-applied to the new image."}]},{"t":"h2","id":"the-mockup-workflow-this-enables","runs":[{"text":"The mockup workflow this enables"}]},{"t":"p","runs":[{"text":"This is the practical payoff and it is worth doing once to see it."}]},{"t":"p","runs":[{"text":"You have a t-shirt photograph. You want to show a client’s design on it. Put a flat rectangle where the print should sit, convert it to a smart object, warp it to follow the fabric’s folds, set the layer to Multiply so the shirt’s shading shows through, and mask it to the shirt’s shape."}]},{"t":"p","runs":[{"text":"Now double-click the smart object’s thumbnail. It opens as its own document. Paste the design in, save, and close. The mockup updates with the design warped, shaded and masked exactly as you set it up."}]},{"t":"p","runs":[{"text":"Forty designs become forty double-clicks rather than forty warps. Every downloadable mockup PSD you have ever seen works this way, and building your own takes twenty minutes."}]},{"t":"h2","id":"embedded-against-linked","runs":[{"text":"Embedded against linked"}]},{"t":"p","runs":[{"text":"A smart object can hold a "},{"text":"copy","b":true},{"text":" of the source file inside the document, or a "},{"text":"link","b":true},{"text":" to a file on disk."}]},{"t":"p","runs":[{"text":"Embedded","b":true},{"text":" is self-contained. Send the PSD and everything travels with it. The file is large, and two documents using the same logo hold two independent copies that will drift apart."}]},{"t":"p","runs":[{"text":"Linked","b":true},{"text":" ("},{"text":"Layer > Smart Objects > Convert to Linked","i":true},{"text":") stores a path. Update the logo on disk and every document using it updates. The file is small. And the link breaks the moment somebody moves the folder, renames the file, or sends you the PSD without the assets. Photoshop shows a warning badge and asks you to relocate it."}]},{"t":"p","runs":[{"text":"The rule that avoids grief: "},{"text":"linked for assets you control and reuse","b":true},{"text":" (a logo, a price panel, a product cut-out used across a campaign) kept in a folder beside the document; "},{"text":"embedded for anything you are sending outside your machine","b":true},{"text":". "},{"text":"File > Package","i":true},{"text":" collects a document and its linked assets into one folder, which is what you send."}]},{"t":"h2","id":"what-the-free-tools-have","runs":[{"text":"What the free tools have"}]},{"t":"p","runs":[{"text":"Photopea","b":true},{"text":" supports smart objects, including opening the contents, editing and updating, and it reads Photoshop’s smart objects in a PSD. Smart filters are partially supported: some open as re-editable, others are baked. For mockups it works."}]},{"t":"p","runs":[{"text":"Krita","b":true},{"text":" has "},{"text":"file layers","b":true},{"text":": a layer that references an external image file and refreshes when that file changes on disk. That is exactly linked-smart-object behaviour, and Krita’s version is arguably cleaner. It does not do smart filters."}]},{"t":"p","runs":[{"text":"Affinity Photo","b":true},{"text":" has embedded documents and live filter layers, which cover the same ground under different names."}]},{"t":"p","runs":[{"text":"GIMP has no equivalent.","b":true},{"text":" This is the most significant functional gap in GIMP for this kind of work, and it is honest to say so: scaling a layer down and back up in GIMP loses detail, and a filter applied is a filter baked. The workaround is to keep a duplicate of the original layer, hidden, at full size, and redo rather than re-edit."}]},{"t":"h2","id":"the-costs","runs":[{"text":"The costs"}]},{"t":"p","runs":[{"text":"Size.","b":true},{"text":" Every embedded smart object is a full copy of its source. A document with eight embedded 40-megapixel photographs is several gigabytes before you have made an edit."}]},{"t":"p","runs":[{"text":"Speed.","b":true},{"text":" The renderer re-renders the contents through the transform and every smart filter whenever anything changes. A smart object with three heavy filters on a large image makes every brushstroke lag."}]},{"t":"p","runs":[{"text":"Copies do not share.","b":true},{"text":" Duplicating a smart object with Ctrl/Cmd+J gives you a linked pair: edit one, both change. "},{"text":"New Smart Object via Copy","i":true},{"text":" gives you an independent one. Two people have burned an afternoon on that distinction; know which you made."}]},{"t":"p","runs":[{"text":"Portability.","b":true},{"text":" A PSD full of smart objects and smart filters opens correctly in Photoshop and Photopea, approximately in Affinity, and poorly in GIMP. If the recipient’s tool is unknown, ship a flattened TIFF alongside."}]},{"t":"h2","id":"when-to-rasterise-deliberately","runs":[{"text":"When to rasterise deliberately"}]},{"t":"p","runs":[{"text":"Smart objects are not free and not always right. Rasterise when the layer is finished, when you need a pixel-level tool on it (the clone stamp will not paint on a smart object without rasterising) and when the file has become slow enough that the re-editability is costing more than it is worth."}]},{"t":"p","runs":[{"text":"The discipline is the same as everywhere else in this block: keep the version that still has the smart object, then rasterise in a copy."}]}],"check":{"question":[{"text":"A designer builds a t-shirt mockup: a smart object warped to the fabric, set to Multiply, with a mask. They duplicate the layer with Ctrl/Cmd+J to make a second colourway, open the copy and replace its contents, and the first shirt changes too. What happened?"}],"options":[{"text":[{"text":"The mask is shared between duplicated layers, so editing either one propagates the change to both."}],"correct":false,"tempting":[{"text":"Picks the wrong shared element: a duplicated layer gets its own mask, and a mask cannot change what image the contents show."}]},{"text":[{"text":"Multiply mode composites both layers against the same base, so any change to one is visible through the other."}],"correct":false,"tempting":[{"text":"Describes a rendering interaction rather than a data link: two independent smart objects in Multiply would show two different designs perfectly well."}]},{"text":[{"text":"Ctrl/Cmd+J duplicates the reference rather than the contents, so both layers point at the same stored source; New Smart Object via Copy makes an independent one."}],"correct":true,"tempting":null},{"text":[{"text":"The smart object was linked rather than embedded, so both layers are reading the same file from disk."}],"correct":false,"tempting":[{"text":"Names a real mechanism that would produce the same symptom but is not what happened here: the behaviour occurs with embedded objects too, because the duplicate shares the embedded source."}]}],"order":[3,0,1,2],"why":null},"prev":{"slug":"groups-clipping-and-pass-through","title":"Why an adjustment stopped working when you put it in a folder","minutes":8},"next":{"slug":"channels-and-saved-selections","title":"The panel where selections go to live","minutes":9}}}