Straight answer first: the browser tool cannot read a shutter count from a PowerShot S90 file, and on this page that is a measurement rather than an inference. A full-size S90 CR2 from a public RAW archive was run through the parser extracted from this site’s own index.html on 2 November 2026. It returns the camera model, the capture date and time, ISO, aperture, shutter speed and focal length — and no actuation total and no serial number. A tag-by-tag dump of its Canon MakerNote shows why. Below: exactly what came back, what CHDK adds and what it does not, why the hidden service screens reported on the S95 are not confirmed on this body, and the mechanical checks that tell you more about a used S90 than any number would — starting with the dial that reviewers called its major flaw.
The S90 is the camera that brought Canon’s enthusiast pocket line back. Canon’s own Camera Museum dates it to October 2009 and describes it as a conceptual continuation of the PowerShot S80 of October 2005 — four years during which the S-series simply did not exist. Imaging Resource lists US availability from 15 October 2009 at a US$430 retail price. It pairs a bright f/2.0 wide end with a 1/1.7-type CCD, shoots RAW as CR2, and introduces the lens-barrel control ring that every later S-series body inherited: an assignable dial around the lens that can drive ISO, shutter speed, aperture, focus or exposure compensation. Wikipedia notes that RAW is unavailable in Auto, Low Light and SCN, and available in P, Tv, Av, M and C — worth knowing if a seller tells you their camera “does not do RAW”.
Two specification details matter for this page in particular. Canon’s entry for the S90 does name the shutter mechanism — “Mechanical shutter and electronic shutter” — which the S95 entry does not; and it still publishes no durability rating anywhere, which is why no rated lifespan is claimed further down. The other is that S90 video tops out at 640×480 at 30 fps: the S95 added 720p a year later. If HD clips are on your list, this is the wrong S-series body, and no amount of checking its wear will change that.
| Specification | Canon PowerShot S90 |
|---|---|
| Marketed | October 2009 (Canon Camera Museum) · US availability from 15 October 2009 at US$430 retail · conceptual successor to the S80 (October 2005), replaced by the S95 (August 2010) |
| Sensor | 1/1.7-type CCD, approx. 10.4 million total pixels, approx. 10 million effective (3648 × 2736) |
| Processor | DIGIC 4 — reported by contemporary reviews; not listed in Canon’s Camera Museum entry |
| Lens | Fixed 6.0–22.5 mm f/2.0–f/4.9, 3.8× optical zoom (28–105 mm equivalent) · digital zoom approx. 4.0× |
| Shutter | “Mechanical shutter and electronic shutter” (Canon’s wording) · 1 – 1/1,600 s standard, 15 – 1/1,600 s total range |
| Shutter durability | No figure published by Canon for this camera |
| Burst | Approx. 0.9 images/s (Auto) · approx. 2.1 images/s (Low Light) · approx. 0.6 images/s with AF and with live view |
| Sensitivity | Auto, ISO 80–3200 in 1/3-stop steps |
| Monitor | Fixed 3.0-type TFT colour LCD, approx. 461,000 dots, 100 % coverage — no viewfinder |
| Video | 640×480 and 320×240 at 30 fps · MOV (H.264 video, linear PCM mono audio) — no HD mode |
| Stabiliser | Lens-shift type (Canon’s wording) |
| Shooting modes | C, M, Av, Tv, P, Auto, Low Light, SCN, Movie |
| Data type | Exif 2.2 (JPEG) / RAW (CR2) — no shutter-count field for this body, measured below |
| Power | Battery Pack NB-6L · approx. 220 images (CIPA) · AC adapter kit ACK-DC40 |
| Size / weight | 100.0 × 58.4 × 30.9 mm · approx. 175 g, camera body only |
Most pages of this kind reason from the brand down: Canon does not write a count for consumer bodies, therefore the S90 has none. That reasoning is correct, but it is still reasoning. For this page the file was opened instead.
The sample is RAW_CANON_S90.CR2 from the public raw.pixls.us archive — a full-size original of 13,287,537 bytes, uploaded in April 2018, shot on 24 August 2011. It was run on 2 November 2026 through the parser extracted from this site’s index.html, which is the same code the browser tool runs. What came back:
| Field | Value returned |
|---|---|
| Make / model | Canon / Canon PowerShot S90 |
| Capture date and time | 2011:08:24 14:41:04 |
| ISO / aperture / shutter / focal length | 80 · f/5.6 · 1/125 s · 9 mm |
| Shutter count | none — null |
| Body serial number | none — empty |
| Lens model / lens serial | none — empty (fixed lens) |
The MakerNote dump explains it rather than merely restating it. The file’s Canon MakerNote is 7,522 bytes with 28 entries. It contains 0x0007 = "Firmware Version 1.01", a 0x000D CameraInfo blob of 171 long values (684 bytes), the usual exposure and focus tables, and two large binary blocks (0x4001, 0x4015). What it does not contain is 0x0093 FileInfo — the block whose ShutterCount field this parser reads on the EOS-1D line — and it does not contain a serial-number tag either: 0x0009 (owner name) is an empty string and there is no 0x000C. No offset inside the S90’s CameraInfo block is documented as an actuation counter by this project or by exiftool, and none is guessed at here. exiftool was not available in the environment where this file was read, so this particular measurement carries no independent second opinion; it is a reading of one file by one parser, and it is reported as that.
One practical consequence worth separating out. Several sibling pages on this site tell a buyer to read the body serial number out of a seller’s sample file and check it against the listing photographs. On the S90 that does not work — the measured file carries no serial-number tag at all. The capture timestamps, the firmware string in the MakerNote and the exposure data are real and checkable; the serial has to come from a photograph of the camera itself.
This is not a gap a future release of the parser might close. 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 is a hardware register inside the camera and is never copied into the image. 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 single 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 2009 S90 predates the CR3 container entirely.
Be sceptical of any site promising an instant S90 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.CR2 part, which Canon also stores as a file index in the MakerNote. That number restarts whenever numbering is reset or a freshly formatted card is used, it counts saved images rather than actuations, and it says nothing about how many times the shutter has fired. It is a floor, and a soft one.
There is a well-travelled trick for Canon compacts of this era: put an empty plain-text file named vers.req in the root of the card, or hold FUNC/SET and press DISP in playback, and the camera steps through undocumented firmware service pages, one of which can carry a line reading Total shoot. It is worth being precise about where that is actually attested.
Total shoot on the third, one body reading over 22,600. That is the S95, not this camera.One small concrete difference from the sibling pages: the CHDK package for the S90 does ship a vers.req file, where the S95 package does not. In the S90 archive it is 107 bytes of deliberate nonsense — “there is nothing in here really. or is it? you won’t find it, i betcha.” — which neatly demonstrates the point that the filename is the entire mechanism and the contents are irrelevant. One owner in the S95 thread found that ver.req, without the s, produced fewer pages and no figure.
What this page is not telling you. Canon documents none of this. These are service functions, not a feature; the sequence is reported to vary between firmware versions; nothing in any Canon document says whether Total shoot counts mechanical releases, saved images or something else; and in the same DPReview thread a member ran the identical trick on a Canon SD1000 and got 217 where he was certain of several thousand. Anything you do in an undocumented service screen is at your own risk, and on the S90 specifically you would be the one establishing whether the screen exists at all.
And note what none of it solves. Every route above needs the camera in your hands and a card you are willing to format. None of it can be done from a sample file emailed by a seller — which is exactly what you can do with a Nikon, a Sony, a Fujifilm or a Ricoh GR III. If remote verification matters to you, that is an argument about which camera to buy, not about which tool to use.
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: scripting, exposure overrides, long exposures, a USB remote trigger. It runs on this camera. The project’s autobuild server carries CHDK 1.6.1 builds for S90 firmware 1.00C, 1.01A, 1.01B and 1.01C. The 1.01C package was downloaded while writing this page — build 1.6.1-6355, dated 20 July 2026 — and its camnotes.txt identifies the body as PID 12769, notes that the 101c port also covers firmware 101b, records the G11-shared Propset 3 and colour palette mentioned above, and carries a frank warning of its own: blocking of Jogdial events “does not work exactly as on the G11”, with the events queued and passed to the stock firmware after leaving ALT mode.
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 modules shipped in that S90 build, alongside get_jpg_count() and get_raw_count(), which only 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 is a DCF numbering counter wearing a promising name. (An older third-party manual describes it instead as the number of images taken since the camera was switched on; the two descriptions disagree, and neither of them is a lifetime total.)
Two other routes get suggested and neither applies here. EOSInfo and gPhoto2 ask a camera for its internal counter over Canon’s PTP protocol, and they are the standard answer for EOS DSLRs whose CR2 files carry no count. The S90 is not an EOS body, does not implement the EOS property those tools query, and is not listed as supported by either project. A Canon service centre can read the camera’s internal counters during an inspection; on a sixteen-year-old compact 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.
Most pages on this site concern a focal-plane shutter: two blade curtains behind a lens mount, a defined wear item with a manufacturer figure to measure against. The S90 has a small shutter sealed inside a fixed lens assembly, which cannot be replaced as a service part the way an EOS shutter unit can — and which is, in practice, not the thing that fails.
The S90’s signature fault is its rear control dial, and it is unusually well documented for a point-and-shoot. Imaging Resource calls it “the major flaw with the Canon S90: the freely spinning Control dial”, noting that it “has no detents, instead spinning freely”, that it sets exposure compensation in Program mode by default and “it’s so loose it does so all the time, whether you want it to or not”, and that even the contemporary G11’s dial clicks as it goes around. Wikipedia’s summary of reviewer opinion is blunter still: “the rear dial moves too easily, changing exposure and often ruining photos”, and third parties sold a plastic ring to damp the movement. For a used buyer in 2026 that is more useful than any actuation total, because it tells you which control to put your thumb on first — and because a camera arriving with a third-party damping ring fitted is a camera whose previous owner was paying attention.
Three other things do the wearing, and none of them is counted anywhere:
A frame total would not settle any of that even if you had one. Video recording reads the sensor electronically and moves nothing mechanical, and Canon publishes no breakdown of which still modes use the mechanical shutter and which use the electronic one, even though its specification names both.
Canon has published no durability rating for the PowerShot S90, and this page does not invent one. Its Camera Museum entry names the mechanism — “Mechanical shutter and electronic shutter” — and gives a speed range of 15 to 1/1,600 second, and that is all; the “approx. 220 images” that also appears there is a CIPA battery figure, not a durability rating. The 100,000-, 150,000- and 200,000-actuation numbers that circulate for Canon bodies are EOS ratings, describing focal-plane shutter units in interchangeable-lens cameras. 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. On a camera marketed in October 2009, age is the more useful variable anyway: battery health, dial feel, screen condition and barrel wear tell you far more about a used S90 than an actuation estimate would.
The compact-camera revival has lifted the whole fast-lens, CCD-sensor generation, and the S90 has come up with it — but it is worth being accurate about how far. A survey of listings on 2 November 2026 found MPB offering eight used S90 bodies between roughly US$134 and US$389 depending on condition, with marketplace asking prices clustering around US$250–320 and a used-department listing as low as US$189.95. Those are asking prices, not completed sales, so the real transaction range is probably lower. Against the US$430 the camera retailed for in 2009, a used S90 today is still below its original list price — unlike the S95, whose clean examples have been pushed past what that camera cost new.
That is still enough money to want evidence before you hand it over, and it is the whole reason this page exists: the ordinary used-camera answer, “ask the seller for a file and read the count”, does not work on this body, and on the S90 it does not even give you a serial number to check. You are buying on condition, provenance and the evidence of your own hands.
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 and returns a count for Nikon NEF, Sony ARW, Fujifilm RAF, Pentax and Ricoh PEF/DNG, and the Canon bodies with a validated offset. The Ricoh GR III and its successors write a release counter into the Pentax-format MakerNote tag 0x005D that the same parser decodes — while the small-sensor GR Digital generation, the S90’s actual contemporary, stores none. Fujifilm’s X100F and later write an ImageCount into RAF tag 0x1438, though the X100 and X100S do not. Sony’s DSC-series compacts, the RX100 line included, decode no ShutterCount at all. 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 that was measured rather than assumed. A full-size S90 CR2 of 13,287,537 bytes from the public raw.pixls.us archive was run through the parser extracted from this site’s index.html on 2 November 2026. It returned make, model Canon PowerShot S90, the capture date and time, ISO 80, f/5.6, 1/125 s and 9 mm — with no shutter count and no body serial number. Canon writes a ShutterCount field into EXIF only for its professional 1D and 1Ds bodies; on consumer bodies the counter is a hardware register in the camera and is never copied into the image.
In the measured file, 28 entries across 7,522 bytes: 0x0007 = “Firmware Version 1.01”, a 0x000D CameraInfo blob of 171 long values (684 bytes), exposure and focus tables, and two large binary blocks. There is no 0x0093 FileInfo — the block whose ShutterCount field this parser reads on the EOS-1D line — and no serial-number tag. No offset inside the S90’s CameraInfo block is documented as an actuation counter by this project or by exiftool, and none is guessed at here.
vers.req service screen show a shutter count on the S90?Unconfirmed on this body. The Total shoot line is reported by owners on the S95 and on the DIGIC 4 G-series (G10, G11, G12); no S90-specific report turned up for this page and it was not tested on a camera here. The S90 is a close relative of the G11 — CHDK’s own build notes say it uses Propset 3 and the new colour palette “as the G11” — which is a reason to try, not evidence that it works. If a number does appear, test it: read it, shoot exactly twenty frames and re-read; delete those twenty and re-read; then format the card in the camera and re-read. A body counter survives all three; a DCF file index does not.
It runs: the autobuild server carries CHDK 1.6.1 builds for S90 firmware 1.00C, 1.01A, 1.01B and 1.01C, and the 1.01C package (build 1.6.1-6355, 20 July 2026) identifies the body as PID 12769 and notes that blocking of Jogdial events does not work exactly as on the G11. It does not show a lifetime count. get_exp_count(), the function people reach for, is documented by CHDK as the file number of the last exposure, which returns to 0 after an in-camera format and rolls over at 9999. Unlike the S95 package, the S90 build does ship a vers.req file — 107 bytes of joke text, which is the point: the filename is the mechanism, the contents are irrelevant.
Canon has not published one. Its Camera Museum entry names the mechanism — “Mechanical shutter and electronic shutter” — and gives a speed range of 15 to 1/1,600 second, with no durability figure anywhere. The 100,000 to 200,000 numbers 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.
The rear control dial first — it is the body’s known weak point, and Imaging Resource called the freely spinning dial the camera’s major flaw. Then a dozen power cycles watching the retracting barrel, the full zoom range under load, the shutter fired at 15 s, 1/60 s and 1/1,600 s, a 15-second dark frame for stuck pixels on an ageing CCD, dust checks, and the age of the NB-6L. Read capture dates and exposure data from sample files, and get the serial number from a photograph of the camera, because the file does not carry one.
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 on most of their range, which is why those cameras can be verified from a single sample file and a PowerShot cannot.
Marketing date, sensor, lens, shutter mechanism and speed range, ISO, monitor, video modes and formats, stabiliser wording, shooting modes, burst rates, Exif 2.2 / RAW (CR2) data types, NB-6L power and the approx. 220-image CIPA figure, dimensions and weight, and the description of the camera as a conceptual continuation of the October 2005 PowerShot S80: Canon’s own Camera Museum entry for the PowerShot S90. No shutter durability or actuation rating appears anywhere in it; the processor is not listed there either, and the DIGIC 4 designation above comes from contemporary reviews rather than from Canon’s entry. US availability from 15 October 2009, the US$430 retail price, and the Control-dial criticism quoted above — “the major flaw with the Canon S90: the freely spinning Control dial”, “the Control dial has no detents, instead spinning freely”, “it’s so loose it does so all the time, whether you want it to or not”, and “Even the G11’s Control dial clicks as it goes around”: Imaging Resource’s Canon S90 review. The successor relationship to the S80 and to the S95, the assignable control ring, the modes in which RAW is and is not available, the reviewer summary that “the rear dial moves too easily, changing exposure and often ruining photos” and the third-party plastic damping ring: the Wikipedia article on the Canon PowerShot S90. The parser reading and the MakerNote dump: RAW_CANON_S90.CR2 (13,287,537 bytes, captured 2011-08-24, uploaded April 2018) from the public raw.pixls.us sample archive, run on 2 November 2026 through the parser extracted from this site’s index.html; exiftool was not available in that environment, so the reading has no independent second opinion. CHDK support: the project’s autobuild server, which carries CHDK 1.6.1 builds for S90 firmware 1.00C, 1.01A, 1.01B and 1.01C — the 1.01C package (build 1.6.1-6355, 20 July 2026) was downloaded for this page, and its camnotes.txt (PID 12769, firmware 101c also covering 101b, Propset 3 and the new colour palette “as the G11”, the Jogdial event-blocking caveat), the bundled 107-byte 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: CHDK’s own script-commands documentation; a third-party Canon Camera Hackers manual describes it differently, as images taken since power-on, and that disagreement is noted rather than resolved. The vers.req service screens, the four pages with Total shoot on the third, the ver.req filename detail, the over-22,600 reading and the contradictory 217 on a Canon SD1000: owner reports in the DPReview Canon PowerShot Talk thread “How many pictures were taken with my S95?” — about the S95, cited here as the closest relative for which the trick is attested, and explicitly not as an S90 report. The 2012 lens-error product advisory for the PowerShot S100 and the 30 September 2017 end of free repair: Canon’s product advisory, cited as family context and not as a defect claim against the S90, for which Canon has issued no such notice. Used asking prices: MPB and marketplace listings surveyed on 2 November 2026, which are asking prices rather than confirmed sales. Canon’s CR2 ShutterCount behaviour, the per-model CameraInfo offsets, 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. No shutter durability figure for this camera has been published by Canon; none is claimed here. If you own an S90 and have found — or failed to find — a Total shoot line in its service screens, that result and a sample file sent to samples@shuttercount.app would be genuinely useful, and this page will be corrected to match.