Confused about image placeholders


I’m working with a document with many images. I’m experiencing significant lag and spinning beach ball.

I know that using image placeholders will speed things up. Do I just manually type the code into the text? Is this correct? <$img:/scrivenerfolder/imagefilename>

I have tried typing in an image placeholder but I’m not sure if I’m doing it correctly, or what happens next. I’d like to be able to see the image if I want; is there a way to toggle the code to show the image? Or is there a way to see a low-res preview of the image?

I also need to be able to send the document to a colleague in Word format, but when I export to .docx the image isn’t included, just the code.

Am I misunderstanding image placeholders?

I appreciate any information or advice anyone has for me, because I would rather not have to abandon Scrivener, but the issues of not being able to see my images and experiencing lag when I include the images in the document are very frustrating and I don’t know what to do.


I’m replying to my own post with the information that if I import the images to my binder and insert the image using Insert>Image Linked to Document the response issues seem to be gone.

I am, however, in the beginning of what is shaping up to be quite a long section of my document, and I’m concerned I may experience the lag again as the number of images increases, so I would still appreciate any feedback from more experienced Scrivener users.

And, piggybacking on my question about image placeholders, I’m wondering if there is a way to use the auto-numbering placeholder so that it will render numbers instead of code in Word.


There are in fact three different ways to manage bulk image handling, so that the editor doesn’t get bogged down storing all of those graphics in the text. You’ll find them all documented in the user manual:

  • Images linked to the disk, and images linked to the binder: §15.7.4, Linked Images. (The binder linking method is by far the most convenient, as you can make that default behaviour for dragging images from the binder into the editor, and since Scrivener is managing the images for you, you don’t have to worry about where they are on the disk.)
  • Placeholders, as you’ve already discovered.

Point being, you do not have to give up thumbnails if you don’t want to. I would say the main advantage to placeholders are cases where you want to conditionally handle image output when compiling. Since they are plain text, the Replacements pane can rewrite image paths and names to suit the output. <$img:SomeScreenshot> can be rewritten to <$img:print-SomeScreenshot>, or <$img:ebook-SomeScreenshot>, for example. Or you can even use Replacements to erase all image placeholder codes for lightweight proofing files.

To answer your questions specifically, as noted in the Image Identification section of the manual, where image placeholders are discussed, if you’re going to refer to image the way you are, then it needs to be a full absolute path on the disk to that image. One of the examples given in fact starts with /Volumes/Research/, which would imply you have a hard disk plugged into the computer called “Research”.

If these images are in the same folder as the project, you can use a relative link, which would omit the prefix forward slash, like so: <$img:scrivenerfolder/imagefilename.png>. Note however that in that case we would presume there is a folder called “scrivenerfolder” in the same folder your project sits, in Finder. If the “imagefilename.png” is in the same folder, then you would only need to type its name in.

Lastly you can just refer to images by binder name, if they are in the binder. You don’t need any paths for that, but each image does need to have a unique name.

Follow-ups: all right good, you found some of the above already. :slight_smile: I’ll post it anyway for anyone else that comes along and finds this thread in the future.

I use the image linking feature extensively. The user manual has around 300 screenshots in it, and the original sources files that it pulls from to create the editor thumbnails is 156mb. It’s not massive in the grand scheme of things, but certainly not an amount of material that I would want hosted inside the project, let alone the editor. I like to keep things lean and mean for frequent backups.

As for speed? Not a problem. The main source of lag is I think the amount of writing the editor has to do to the disk. Displaying thumbnails, even lots of them, doesn’t seem to hit the performance of the text engine overly so.

That’s what they do, so I don’t quite follow the question. Perhaps the syntax is slightly off? The Insert ▸ Auto-Number submenu is a convenience tool for inserting these until you learn them.

I have Scrivener 3 for he Mac. I’m having the same issue wih images not actually appearing in the Word or NeoOffice document upon compilation. In both cases I just get a placeholder,"<<KMB_IMG_TAG1>>". I had imported the JPG into my reasearch folder and then linked to it from within a document in the Draft section of the binder.Is there some form of “switch” that needs to be set?

That doesn’t quite sound like the same thing to me, but we never did get a good sense of what the OP was experiencing. I suspect in their case they were just typing in the placeholder slightly wrong, so it was in the end regular old text rather than anything special. The text you pasted here looks nothing like an image placeholder—and you mention you aren’t using text placeholders anywhere, but links to images in the binder. What you pasted looks more like an internal part of the compile process that is never meant to be last any longer than compiling itself.

In your case, I think it would work best if you sent us a small sample project demonstrating the problem, with instructions on how to compile it so we can see this result. You can send in a sample to our support address.

Amber V: Thank you for your reply. I went back to the manual and have managed to get graphics to be exported as part of a .odt or docx. I must admit, I am new to Scrivener and was likely doing something incorrectly. There’s just so much to learn!

I don’t think what you posted could be chalked up to a mistake on your part, actually. The format of the code indicates it is something internal that should never be seen, and almost positively a bug! If you still have a way to reproduce it, we’d be grateful for a hint on how to see it as well, so as to fix it.

Glad you got things sorted out for your work though; welcome to the software! :wink: