Straight answer first: the browser tool cannot read a shutter count from a PowerShot S100 file — Canon writes that value into EXIF only for its professional 1D and 1Ds bodies, never for a PowerShot. On this page that is not an assumption carried over from a sibling model: a full-size S100 CR2, a CHDK-generated DNG and a CHDK raw dump from the same camera were each run through this site’s parser and then taken apart tag by tag, and none of the three holds an actuation total. Below: exactly what those files do contain, why CHDK does not close the gap, what the undocumented service screens are and are not, and why Canon’s own June 2012 notice about this model’s lens is the thing worth checking on a used one.
Canon’s own Camera Museum lists the PowerShot S100 as marketed in December 2011, replacing the S95 of August 2010. It is the camera that moved the enthusiast S-series from CCD to CMOS: an approximately 12.1-million-effective-pixel 1/1.7-type CMOS sensor paired with the DIGIC 5 processor, behind a 5× zoom covering 5.2–26.0 mm — 24–120 mm equivalent — that opens to f/2.0 at the wide end. Canon credits DIGIC 5 with processing about four times the information at roughly six times the speed of DIGIC 4.
Two things set it apart inside its own family. It is the only S-series body with a built-in GPS receiver: Canon’s entry describes an antenna that receives satellite signals automatically and writes the location into the Exif data, with a separate log file in NMEA 0183 format. And it is the model Canon later issued a lens service advisory for, which is covered further down. The S110 that replaced it in October 2012 dropped the GPS for Wi-Fi.
| Specification | Canon PowerShot S100 |
|---|---|
| Marketed | December 2011 · successor to the S95 (August 2010), replaced by the S110 (October 2012) |
| Sensor | Approx. 12.1 MP effective, 1/1.7-type CMOS |
| Processor | DIGIC 5 |
| Lens | Fixed 5.2–26.0 mm, 5× zoom (24–120 mm equivalent), lens-shift stabilisation |
| Aperture | f/2.0–f/8.0 at wide angle, f/5.9–f/8.0 at telephoto |
| Shutter | 1–1/2,000 s; total range 15–1/2,000 s |
| Shutter durability | No figure published by Canon for this camera |
| Sensitivity | Auto, ISO 80–6400 — the S110 later raised the ceiling to 12800 |
| Burst | Approx. 2.3 fps · approx. 9.6 fps in High-speed Burst HQ |
| Monitor | Fixed 3.0-type TFT, approx. 461,000 dots — no viewfinder |
| Video | MOV (H.264 + linear PCM): 1920×1080/24p, 1280×720/30p, 640×480/30p; Super Slow Motion 640×480/120 fps and 320×240/240 fps |
| GPS | Built-in antenna, location written into Exif; log file in NMEA 0183 format |
| Battery / CIPA | NB-5L · approx. 200 shots per charge |
| Media | SD / SDHC / SDXC |
| Size / weight | 98.9 × 59.8 × 26.7 mm · approx. 198 g with battery and card (173 g body only) |
| Still formats | JPEG (Exif 2.3) and RAW (CR2) — no shutter-count field for this body |
Two cameras share this name. Canon used “PowerShot S100” once before, around 2000, for the PowerShot S100 Digital ELPH — the same camera sold as the Digital IXUS in Europe and the IXY Digital in Japan. That one is a small brushed-metal point-and-shoot of a different era with no RAW format at all, so there is no file to examine and nothing on this page applies to it. The camera here is the 2011 black enthusiast compact with the lens control ring.
Rather than reason from Canon’s behaviour on other bodies, three genuine S100 files were put through this site’s parser for this page — a full-size original CR2, a DNG written by CHDK on an S100, and CHDK’s raw sensor dump saved with a .CRW extension, all from a public RAW sample archive. This is what came back.
| File | What the parser returns |
|---|---|
| Original CR2 (13.4 MB) | Make Canon, model Canon PowerShot S100, capture date and time, ISO 80, f/4.0, 1/800 s, 5 mm — no shutter count, no body serial number |
| CHDK DNG (CHDK 1.4.1) | Make Canon, model Canon PowerShot S100, date, ISO 800, f/3.1, 1/64 s — no shutter count |
| CHDK raw dump (.CRW) | Nothing at all — the file has no TIFF header and no EXIF; it opens cleanly and returns an empty reading |
Then the CR2’s metadata was walked tag by tag. Its Canon MakerNote has 30 entries. Two of them matter here. Tag 0x0007 holds the string Firmware Version 1.01, and tag 0x000D is a CameraInfo block of 523 long values — 2,092 bytes of per-model camera state. What is not present is tag 0x0093, the FileInfo block whose ShutterCount field this parser reads on the EOS-1D line; nor is there any serial-number tag, which is why the tool shows no serial for this body while it does for Nikon, Sony and recent Canon cameras.
A CameraInfo block is not a shutter count. Canon’s CameraInfo blob exists on most of its cameras, and on a handful of CR3 bodies this project has confirmed an offset inside it that holds the count. Nothing in the S100’s 2,092 bytes is documented as an actuation counter — not by this project, not by exiftool — and reading a plausible-looking 32-bit value out of an undocumented offset is exactly how wrong numbers get published. This page does not do that. Where a Canon offset is a candidate rather than a confirmed reading, the tool labels it as a possible count and keeps it away from the certificate and the life gauge; the S100 does not even reach that bar.
The CHDK DNG is worth one more line, because it is the file type S100 owners are most likely to produce deliberately. It parses, it names the camera, its Software tag reads CHDK ver. 1.4.1 — and it contains no Canon MakerNote at all. CHDK builds the DNG itself from the sensor data, so that file carries less camera metadata than the stock CR2 beside it, not more. If you are sending a sample file to anyone, send the camera’s own CR2.
ShutterCount works by finding a counter the camera itself wrote into the file. Nikon puts it in MakerNote tag 0x00A7, Sony in the encrypted 0x9050 block, Fujifilm in 0x1438, Pentax and Ricoh in the XOR-scrambled 0x005D. Canon does write one — but only on specific bodies, and the S100 is not among them.
On Canon the field lives in a CameraInfo or FileInfo MakerNote blob whose layout changes from model to model, so the offset has to be confirmed body by body. In CR2 files that blob carries a usable count only on the professional 1D and 1Ds line; Canon does not write it for consumer bodies at all — not for the 5D, 7D or Rebel DSLRs, and not for the PowerShot compacts. On those cameras the actuation counter is a hardware register inside the body, readable over USB from an EOS camera and never copied into an image. The one Canon compact with a confirmed offset in this tool’s support matrix is the PowerShot G5 X Mark II, at 0x0A95 in CR3 and 0x0293 in JPEG — and the S100, a 2011 camera, predates the CR3 container entirely.
This is not a gap a future release of the parser might close. exiftool decodes Canon’s MakerNote in considerably more detail than this tool does and reports no shutter count for a PowerShot either, because the camera never recorded one. The same pattern shows up in this project’s own research: when every documented and candidate CameraInfo position was scanned across the Canon corpus, the PowerShot SX70 HS produced no candidate at any offset — no record in its blob behaves like a counter.
Be sceptical of any site promising an instant S100 count from a photo. If a tool prints a number after you upload a CR2 or a JPEG, it is not reading a shutter counter. The usual culprit is the DCF image number — the IMG_0321 part of the file name, which Canon also stores as a file index. That number restarts whenever the numbering is reset or a freshly formatted card is used, it counts images rather than actuations, and it says nothing about how many times the shutter has fired.
Dropping an S100 file into the tool is still worth doing when you are checking a listing. The capture dates are real, verifiable facts about the camera that produced that file, and on a body old enough to have changed hands several times they often catch a misdescribed camera on their own. The actuation total will not be among them — and on this body, neither will a serial number.
CHDK, the Canon Hack Development Kit, is third-party firmware that loads from the SD card at boot and exposes functions the stock firmware hides: RAW capture on cameras Canon never gave RAW to, scripting, exposure overrides, long exposures, a USB remote trigger. It runs on this body. The project’s autobuild server carries CHDK 1.6.1 builds for S100 firmware 1.00D, 1.00E, 1.01A, 1.01B and 1.02A, and the 1.02A package was downloaded and opened for this page: build 1.6.1-6355, dated 20 July 2026, identifying the camera as PID 12854. Its camera notes are about controls rather than counters — the ring-function button is treated as ERASE and the video button as DISP. in CHDK shortcuts and scripts, the Alt shortcut defaults to the play button, and the body can boot from FAT32 cards.
What CHDK does not add is a lifetime actuation counter. The function whose name invites that reading is get_exp_count(), and it is present in both the Lua and the uBASIC interpreters shipped in that S100 build — alongside get_jpg_count() and get_raw_count(), which estimate how many frames still fit on the card. CHDK’s own script documentation defines get_exp_count() as the file number of the last exposure: the last four digits of the most recent file name. It survives switching the camera off and swapping cards, and it does not go down when you delete the last photo — but it returns to 0 after the card is formatted in the camera, and it rolls over at 9999.
That matters more than a pedantic definition. A script that reads get_exp_count() and prints a tidy four-figure number looks exactly like a shutter count and will be quoted as one in a listing. On a camera that has been formatted a dozen times the number is the count since the last format, and it is low because the camera has been used a lot. Treat any CHDK-derived figure as the file index it is.
One practical note from the measurements above: if you run CHDK on an S100 and shoot its DNG or raw-dump output, you are producing files with less usable camera metadata than the stock CR2. The DNG drops Canon’s MakerNote; the .CRW dump has no metadata header at all. Neither gains you a count, and both lose you the firmware string.
vers.req service screens — a DIGIC 4 report, unverified hereOlder Canon compacts can be made to show extra firmware screens: a file named vers.req in the root of the card, or holding FUNC/SET while pressing DISP in playback, steps through version information, and on some bodies one of those screens carries a line reading Total shoot: followed by a number. CHDK’s S100 package even ships the trigger file — its contents are a joke, because only the file name matters.
The owner reports that describe a shot-count line, however, are about the DIGIC 4-era G-series, principally the G10, G11 and G12, and about the S100’s own predecessor the S95. The S100 is a DIGIC 5 camera, a different firmware generation. No verified report shows that line on an S100, Canon documents no shutter-count readout in the camera’s specifications, and nothing was reproduced on a body for this page. Trying it costs nothing and takes a minute; promising that it will work here would be guessing.
If you do find a number, test it before you trust it. Read it, take exactly twenty frames, read it again — a release counter will have moved by twenty. Delete those twenty files and read it a third time; a real counter does not go down. Then format the card in the camera and read it once more: the DCF file index that most “shutter count” websites actually show returns to zero after a format, while a counter held in the body does not. Three readings take a couple of minutes and settle what the number is. If you run that test on an S100, samples@shuttercount.app would be glad of the result — and this page will be corrected to match.
Two other routes get suggested and neither applies. EOSInfo and gPhoto2 ask the camera for its internal counter over Canon’s PTP protocol; that is the standard answer for EOS DSLRs whose CR2 files carry no count, but the S100 is not an EOS body, does not implement the property those tools query, and is listed as supported by neither. Canon service can read the camera’s internal counters during an inspection or repair; on a camera of this age that is rarely worth paying for on its own, but if a seller has service paperwork from a past repair, it is the only genuinely authoritative usage figure that exists for the body.
This model has something most compacts do not: a documented fault with a defined serial-number range. On 28 June 2012 Canon issued a product advisory for the PowerShot S100 after a part inside the lens could become disconnected and produce a lens error, a failure Canon associated with use in conditions of high temperature and/or humidity. Canon repaired affected cameras free of charge regardless of warranty status where that cause was confirmed. Canon described this as an advisory, not a recall.
| Canon PowerShot S100 lens advisory | Detail |
|---|---|
| Announced | 28 June 2012 |
| Symptom | “Lens error” caused by disconnection of a part inside the lens |
| Affected serial numbers | First two digits of the serial number from 29 through 41 |
| Remedy | Free repair regardless of warranty status, where the cause was confirmed |
| Free repair ended | 30 September 2017 |
The free-repair window closed years ago, so for a buyer in 2026 the advisory is not a remedy — it is a checklist item. A body in that serial range either has already been repaired, has already failed, or is still carrying the part Canon was worried about. Ask the seller which. And note where the serial number has to come from: the camera itself. The measurement earlier on this page is the reason — an S100 CR2 carries no serial-number tag, so you cannot check the range from a sample file the way you could on a Nikon or a Sony. Ask for a photograph of the base of the camera.
This is also the honest answer to “how worn is this S100?”. On a pocket compact the shutter is not the part that ends the camera’s life.
Most pages on this site are about a focal-plane shutter: two blade curtains behind a lens mount, a defined wear item with a manufacturer figure to measure against and a known replacement price. The S100 has nothing of the sort. Its shutter is a small unit inside a sealed, fixed lens assembly, and two things follow from that.
The retracting barrel does more mechanical work than the shutter does. The lens extends from a 26.7 mm-deep body on every power-on and retracts on every power-off, in an unsealed camera that lives in a pocket or a bag. That mechanism, not the shutter, is the classic failure point of the whole S-series — and on this particular model it is the mechanism Canon itself issued a notice about. A count, if you could get one, would be measuring the wrong part.
A frame total would not equal an actuation total anyway. All video recording on this camera reads the sensor electronically and moves nothing mechanical, and Canon’s specification does not break down which mechanism each still mode uses. Even a reliable frame count — which you cannot get here — could not be converted into a mechanical actuation figure for this body.
One more S100-specific wear item: the GPS. It is the only receiver in the S-series, it drains the small NB-5L battery when the logger is left running, and a fourteen-year-old cell is tired to begin with. If a seller tells you the battery lasts an afternoon, ask whether the GPS and its logger are on before concluding the cell is dead.
Canon has published no durability rating for the PowerShot S100, and this page does not invent one. Canon’s own Camera Museum entry gives the shutter speed range — 15 to 1/2,000 second — and a CIPA battery figure of about 200 shots per charge, and that is all: no actuation rating, and no naming of the shutter mechanism.
The 100,000-, 150,000- and 200,000-actuation figures that circulate for Canon bodies are EOS ratings. They describe focal-plane shutter units in interchangeable-lens cameras, tested and published for those products. Carrying one across to a shutter built inside a fixed compact lens would be a guess dressed up as a specification.
Where this site quotes ~100,000 actuations (est.) for compacts of this class, that is a class norm offered for orientation and labelled as an estimate. It is not a Canon figure for this camera, which is why it stays out of this page’s meta description and out of the specification table above. In practice, on a camera marketed in December 2011, age is the more useful variable: barrel wear, battery health and screen condition tell you far more about a fifteen-year-old S100 than any actuation estimate would.
Firmware Version 1.01 — and Canon’s own updater lists Version 1.0.0.0, 1.0.1.0 and 1.0.2.0, the last of which fixes a control-ring step-zoom fault. The three-character string looks like Canon’s four-part number with the trailing zero dropped, but Canon does not document that mapping, so treat it as a strong hint rather than proof of which firmware is installed.None of this produces a number from a file, and on this camera nothing will. What it produces is a judgement about condition — which on a sealed pocket compact is the more useful thing anyway.
If verifying usage from a seller’s file before buying matters to you, it is worth knowing which pocketable cameras allow it. The tool runs entirely in your browser — files are parsed on your own device — and returns a count for Nikon NEF, Sony ARW, Fujifilm RAF, Pentax and Ricoh PEF/DNG, and the Canon bodies with a validated offset. Among the compacts an S100 buyer is likely to be cross-shopping, Sony’s RX100 — the camera that arrived six months after the S100 and took this market away from it — is on the same side of the line: no DSC-series Sony decodes a ShutterCount. The Ricoh GR III and its successors write a release counter into the Pentax-format MakerNote tag the same parser decodes, while the small-sensor GR Digital generation stores none. Fujifilm’s X100F and later write an ImageCount into their RAF files, though the X100 and the X100S — the S100’s near-contemporary — do not. On the Canon side, the one compact with a confirmed offset is the PowerShot G5 X Mark II. Every other PowerShot, this one included, is on the other side of that line.
No, and for this page that was measured rather than assumed. A full-size S100 CR2 was run through this site’s own parser: it returns the make, the model string Canon PowerShot S100, the capture date and time, ISO, aperture, shutter speed and focal length — and no shutter count at all. Canon writes a ShutterCount field into EXIF only for its professional 1D and 1Ds bodies; on every consumer body, PowerShot compacts included, the actuation counter stays in the camera’s hardware and is never copied into the image. If a site prints a number after you upload an S100 photo, it is showing you something else, almost always the DCF file number from the file name.
A tag-by-tag dump of a real S100 CR2 made for this page shows a Canon MakerNote with 30 entries. Among them are tag 0x0007, holding the string Firmware Version 1.01, and tag 0x000D, a CameraInfo block of 523 long values — 2,092 bytes of per-model camera state. What is not there is tag 0x0093, the FileInfo block whose ShutterCount field this parser reads on the EOS-1D line; and there is no body serial-number tag either, so the serial this tool shows for Nikon, Sony and recent Canon bodies is simply absent from an S100 file. No offset inside that CameraInfo block is documented as an actuation counter by this project or by exiftool, and this page does not guess at one.
It runs: the project’s autobuild server carries CHDK 1.6.1 builds for S100 firmware 1.00D, 1.00E, 1.01A, 1.01B and 1.02A, and the 1.02A package downloaded for this page (build 1.6.1-6355, 20 July 2026) identifies the body as PID 12854. It does not show a lifetime count. get_exp_count(), the function people reach for, is present in that build’s Lua and uBASIC modules but is documented by CHDK as the file number of the last exposure — the last four digits of the newest file name — which returns to 0 after an in-camera format and rolls over at 9999. A CHDK-generated DNG from an S100 was measured here too: it parses and names the camera, its Software tag reads CHDK ver. 1.4.1, and it drops Canon’s MakerNote entirely, so it holds less camera metadata than the stock CR2.
Canon has not published one. Canon’s Camera Museum entry gives a shutter speed range of 15 to 1/2,000 second and a CIPA figure of about 200 shots per charge, but no durability rating and no shutter mechanism. The 100,000 to 200,000 figures quoted around Canon cameras are EOS ratings for focal-plane shutters in interchangeable-lens bodies and do not apply to a shutter inside a fixed compact lens. The ~100,000 (est.) this site uses for compacts of the class is an estimate for orientation, not a Canon specification.
Canon issued a product advisory for the PowerShot S100 on 28 June 2012, after a part inside the lens could come loose and produce a lens error — something Canon associated with use in high temperature and/or humidity. The affected range is defined by the first two digits of the serial number: 29 through 41. Canon repaired those bodies free of charge regardless of warranty status where the fault was confirmed, and that free-repair programme ended on 30 September 2017, so the advisory is now a buying check rather than a remedy. Canon described it as an advisory, not a recall. The serial number has to be read off the camera itself: an S100 CR2 carries no serial-number tag, as the measurement above shows.
The 2011 enthusiast compact: 12.1 MP 1/1.7-type CMOS, DIGIC 5, an f/2.0 24–120 mm-equivalent zoom, built-in GPS and CR2 RAW. Canon used the name once before, around 2000, for the PowerShot S100 Digital ELPH — sold as the Digital IXUS in Europe and the IXY Digital in Japan — which is a different camera of a different era, shoots JPEG only and has no RAW file to examine at all. If a listing shows a small brushed-metal ELPH rather than a black enthusiast compact with a lens control ring, nothing on this page applies to it.
It is a long-standing design decision rather than a technical limit — Canon tracks the value internally and exposes it in EXIF only on the 1D and 1Ds professional line, leaving USB as the route for EOS bodies and nothing at all for compacts. Nikon, Sony, Fujifilm and Pentax/Ricoh write it into the file across most of their range, which is why those cameras can be verified from a single sample file and a PowerShot cannot.
Marketing date, sensor, effective pixels, processor, lens and aperture range, shutter speed range, ISO range, burst rates, monitor, video modes, GPS and its NMEA 0183 log, recording media, NB-5L power and the CIPA figure, dimensions, weight and the JPEG/CR2 file formats: Canon’s own Camera Museum entry for the PowerShot S100. No shutter durability or actuation rating appears anywhere in it, and no shutter mechanism is named; the “approx. 200 shots” figure there is a CIPA battery figure, not a durability figure. Nothing on this page claims a rated lifespan for this camera.
The file measurements above were made for this page on 1 November 2026 against three real S100 files from the public raw.pixls.us sample archive — an original CR2 (13,473,038 bytes), a DNG written by CHDK 1.4.1, and CHDK’s raw dump saved as .CRW — using the parser extracted from this site’s index.html, plus a tag-by-tag IFD and MakerNote dump written for the purpose. The parser returned no shutter count from any of the three; the MakerNote entry list (30 entries, including 0x0007 = Firmware Version 1.01 and 0x000D CameraInfo at 523 long values, with no 0x0093 FileInfo and no serial-number tag) is read from the CR2 itself. exiftool was not available in that environment, so no independent second opinion was taken on these particular files; the behaviour it reports for Canon compacts generally is the support matrix’s, not a measurement repeated here.
CHDK support for the S100: the project’s autobuild server, which carries CHDK 1.6.1 builds for S100 firmware 1.00D, 1.00E, 1.01A, 1.01B and 1.02A. The 1.02A package was downloaded for this page; its camnotes.txt (CHDK for s100 fw:102a, PID 12854, build 1.6.1-6355 dated 20 July 2026, with the ring-function and video buttons mapped to ERASE and DISP.), its bundled vers.req, and the get_exp_count / get_jpg_count / get_raw_count entry points in its lua.flt and ubasic.flt modules are what is described above. The definition of get_exp_count() as the file number of the last exposure, resetting to 0 after an in-camera format and rolling over at 9999, is CHDK’s own script-commands documentation; that page could not be retrieved from this environment and is cited as the project’s standing documentation, consistent with the same statement on this site’s S95 and S110 pages.
The lens advisory: Canon’s product advisory of 28 June 2012, “Service Notice: PowerShot S100 Lens Issue”, and the matching regional notices from Canon Australia and Canon Asia. Those Canon pages refused automated retrieval from this environment (HTTP 403/404), so the specifics quoted here — the disconnected part inside the lens, the high temperature and humidity association, the serial range defined by first two digits 29 through 41, free repair regardless of warranty status where the cause is confirmed, and the end of free repair on 30 September 2017 — are taken from the wording of those notices as quoted in search results and from Imaging Resource’s report of 29 June 2012. Canon’s characterisation of it as an advisory rather than a recall is reported from the same coverage. If you are relying on it, check Canon’s own notice for your region.
Firmware: Canon’s support page for PowerShot S100 Firmware Version 1.0.2.0, which describes the fix (the focal length may not change when the control ring is set to step zoom and turned slowly), states that it applies to cameras running Version 1.0.0.0 or 1.0.1.0 and that the update cannot be reversed. The relationship between that four-part number and the three-character Firmware Version 1.01 string in the MakerNote is an inference drawn here, not a Canon statement.
The older camera of the same name — the PowerShot S100 Digital ELPH, sold as the Digital IXUS and the IXY Digital, from around 2000: contemporary coverage and the Wikipedia overview of the Canon PowerShot S series. Canon’s CR2 ShutterCount behaviour, the per-model CameraInfo offsets, the PowerShot SX70 HS scan that produced no candidate at any offset, the G5 X Mark II exception and the tags this tool reads: the support matrix on the ShutterCount home page and the full-size release-corpus validation reported there.
If you own an S100 and have a reading from the camera’s service screens, or a sample file that behaves differently from the ones measured here, send it to samples@shuttercount.app — this page will be corrected to match.