Open Water Swimming / Pool Events · Workflow guide

Tag Swimming Photos Faster — Caps, Spray and All

Swimming photographers face unique challenges — numbers on curved wet caps, water spray, and limited viewing angles. Here's the workflow to tag efficiently despite them.

Swimming photography is fundamentally different from land-based sports. Athletes are submerged or partially submerged, race numbers are printed on curved rubber caps that distort perspective, and water spray can obscure athletes completely. Numbers are only clearly visible when the swimmer's head is above water and positioned directly toward the camera. Cap color by heat or lane, plus the official entry list, become critical backup identification when cap numbers are illegible.

Typical event
1-day event (morning heats through evening finals) or multi-day championship
Photo volume
500-2,000 photos depending on event size and number of races
Delivery
Same-day for competitive events, next-day for photo galleries
Key challenge
Cap numbers visible only from above and at specific angles, water spray obscures athletes, and identical swim caps in the same event create ambiguity

The workflow, step by step

  1. 1

    Pre-Event: Get the Entry List and Note Cap Colors

    Manual · A few minutes before the event

    Ask the organizer for the official entry list with swimmer names and assigned numbers, then save it as a CSV — this is the start-list RaceTagger matches detected numbers against. If available, note cap color assignments (many meets assign colors by heat or lane). This becomes your backup ID when a number is illegible.

    Pro tip

    Take a photo of the heat sheet or lane assignments before each race. Cap colors are often consistent — knowing that #42 is in the blue cap group helps when water spray obscures the number.

  2. 2

    Position for Maximum Cap Number Visibility

    Camera · Setup before each race

    Unlike track or road racing, you need to position yourself above and slightly ahead of the swimmers. Long telephoto from the pool deck works better than waterproof housing in the water. Aim for head-on or slight-angle shots where the cap number faces the camera.

    Pro tip

    For open water events, position yourself at a point where swimmers approach the camera. Shoot when their head is high and the number faces you. Avoid shooting from behind — the cap number won't be readable at that angle.

  3. 3

    Shoot Through the Race and Note Water Spray Moments

    Camera · Through each race

    Capture swimmers throughout the race at different stages (start, mid-race, finish). Note water spray moments — those are the hardest photos to read, for you and for the AI. Spray and reflections create optical noise that can obscure numbers completely.

    Pro tip

    Water spray photos are editorial gold — dramatic and emotional — but expect lower confidence on these. Plan on manual review and correction for spray shots.

  4. 4

    Batch Tag with RaceTagger

    RaceTagger · Batch — runs unattended while you start editing

    Import your culled photos into RaceTagger and point it at your entry-list CSV. It detects race/cap numbers in the frame and matches each readable number to the swimmer on your start-list, then writes the result into the photo's metadata. RaceTagger reads JPEG and RAW (via the embedded preview), so you can run it straight off the card.

    Pro tip

    Cap numbers are small and curved, so expect lower confidence than a flat motorsport panel. Where RaceTagger isn't sure, it flags the photo for review rather than guessing — which is exactly what you want on a paid swim job.

  5. 5

    Review Flagged Photos & Cross-Reference with Cap Color / Heat & Lane

    RaceTagger · Depends on how many spray and identical-cap shots you kept

    RaceTagger flags low-confidence detections — typically spray shots, extreme angles, or identical-looking caps. For these, use your heat sheet notes and cap color to narrow the field. The entry list organized by heat and lane confirms identity when the number itself is unreadable.

    Pro tip

    If a cap number is illegible but the cap is distinctly blue and you know #42 swam in blue, cross-reference the entry list by heat and lane. Cap color + heat timing is a strong signal.

  6. 6

    Export & Deliver Swimmer Galleries

    Lightroom · Editing and export time as usual

    RaceTagger writes swimmer names and race numbers into the photo metadata (EXIF/XMP/IPTC), so the tags travel with the file into Lightroom or your gallery platform. Organize by swimmer name and deliver individual galleries. Competitive swimmers want to see their race progression across multiple events.

    Pro tip

    Many swim photographers create 'heat sheet' galleries showing all swimmers from that race side-by-side. Swimmers love seeing themselves against their competition — it drives prints and downloads.

Where the numbers get hard

hard

Cap numbers on curved wet surfaces visible only from specific angles

Why it's hard. Unlike flat bibs, cap numbers curve around the swimmer's head. The number is only readable when it directly faces the camera. From the side or back, the number is invisible. Water droplets on the curved surface distort the view further.

How we handle it. RaceTagger reads the number at the angles you actually capture, and flags shots where the cap is angled away or turned so you can identify those manually instead of trusting a bad guess.

extreme

Water spray and reflections obscuring the entire swimmer

Why it's hard. Unlike rain in motorsport (which still shows the vehicle), water spray in swimming can completely hide the athlete. Spray also creates reflections and optical distortion that blur numbers beyond recognition.

How we handle it. RaceTagger flags spray shots as low-confidence rather than guessing. You correct these using cap color and heat/lane assignments from the official entry list.

medium

Identical swim caps creating ambiguity

Why it's hard. Many swimmers in the same event wear identical cap colors. If you have eight swimmers in pink caps and the number isn't readable, you can't distinguish #23 from #47 visually.

How we handle it. RaceTagger reads and matches the number when it's visible. For ambiguous photos, you use cap color + heat/lane assignment + timing (early in the race vs late) to identify the correct swimmer.

hard

Cap numbers peeling or washing off during the race

Why it's hard. Some cap numbers are adhesive stickers that peel off when the cap gets wet. By mid-race, the number might be partially or completely gone, leaving blank space where it was.

How we handle it. When there's no readable number, RaceTagger flags the photo for review instead of inventing one. You use the entry list and cap color to assign it to the correct swimmer.

medium

Telling swimmers apart when the number simply isn't visible

Why it's hard. When cap numbers are illegible, you fall back on context — cap color, the lane a swimmer is in, and the heat they're racing. These signals are partial and vary from meet to meet.

How we handle it. RaceTagger matches against the entry-list CSV you provide, so the candidates are scoped to that event. Combined with your cap-color and heat/lane notes, that's usually enough to confirm identity when the number itself can't be read.

By hand vs with RaceTagger

By hand

Hours of squinting at curved caps for a full event

Error-prone on spray photos, identical caps, and awkward angle geometry

  • Curved cap numbers are tedious to read manually — you're squinting at a curved surface in spray
  • Identical-looking caps create a high error rate — it's easy to tag the wrong swimmer from an ambiguous photo
  • Delayed delivery (next day) limits sales — swimmers buy immediately after the race, not days later

With RaceTagger

A batch run while you start editing, plus targeted review of flagged shots

Strong on clear, head-on shots; low-confidence spray and identical-cap photos are flagged for you to resolve, not guessed

  • Readable numbers are detected and matched to your entry list automatically
  • Uncertain reads are flagged for review instead of guessed, so you don't ship wrong names
  • Faster turnaround supports same-day delivery — swimmers receive galleries while the meet is still being celebrated

A typical competitive swimming championship day

You arrive poolside for a regional swimming championship. The organizer provides the entry list with cap colors by heat, and you save it as a CSV. You position yourself at the turn (where swimmers are most visible) and shoot through the morning heats across several age groups. At the lunch break you import to Photo Mechanic and cull to your keepers, then point RaceTagger at the folder and the entry-list CSV. It runs while you grab lunch, detecting the readable cap numbers and matching them to swimmers, and flagging the spray shots and identical-cap photos it isn't sure about. You work through the flagged set using your heat sheet and cap-color notes, confirm the clear ones, and leave the genuinely ambiguous shots tagged as low-confidence to clarify post-event. You move into Lightroom in the afternoon, and the day's galleries go live before the meet has fully wrapped. Swimmers and parents start purchasing heat sheets and podium photos.

You deliver before many families have even arrived home from the meet. Word spreads through the swim club, and more events follow.

Try RaceTagger on your next swimming event

Start with free monthly credits — no credit card required. Process a full day's worth of swimming photos and see how it handles curved caps and water spray.

Try it free →

Questions photographers ask

Why is cap number detection harder than other sports?

Cap numbers are printed on a curved surface, only visible from specific angles, and often obscured by water spray or reflections. Unlike a flat bib, a curved cap number distorts the view. RaceTagger reads what's clearly visible and flags the rest for review rather than guessing.

What should I do if water spray completely obscures the number?

RaceTagger flags it as low-confidence. You use the entry list, cap color assignment, and heat and lane to manually identify the swimmer. Heat and lane assignments narrow it down significantly.

How do I handle identical swim caps in the same event?

Use the official entry list organized by heat and lane. If you photograph a swimmer from a specific lane in a specific heat, you know exactly which swimmers are in that photo. Cap color + heat + lane = positive ID.

How does RaceTagger know which swimmer a number belongs to?

It matches the numbers it detects against the entry-list CSV you upload for the event. That keeps the candidates scoped to the swimmers actually racing, which is what makes the matching reliable even when several caps look alike.

Do I need to shoot from in the water for good results?

Not always. Long telephoto from the pool deck or the shore at an open-water event gives you the best angle for readable cap numbers (head-on or slight angle). In-water shots work for certain angles but are logistically harder. Position yourself where swimmers face the camera.

Keep reading

← All guides