I don't know if this helps but the following tells what the type of the image file is. (In my case I copied a jpg to img1 and a png to img2, without extensions of course.) \startluacode userdata = userdata or { } function userdata.mytype(s) context(img.scan({filename=s}).imagetype) end \stopluacode \starttext img1 is \ctxlua{userdata.mytype("img1")}\par img2 is \ctxlua{userdata.mytype("img2")} \stoptext Michael ________________________________ This e-mail message (including any attachments) is for the sole use of the intended recipient(s) and may contain confidential and privileged information. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message (including any attachments) is strictly prohibited. If you have received this message in error, please contact the sender by reply e-mail message and destroy all copies of the original message (including attachments).