Stowfit

Carry-on size checker · iPhone

Check your bag before you fly.

Compare measured dimensions or an approximate photo estimate with your airline’s allowance.

Stowfit is in owner-only internal TestFlight testing. There is no public download yet.

Photo inference is currently disabled while measurement validation continues. Manual checks remain available.

Orange carry-on nested inside an overhead-bin outline

A clearer check before the airport.

Choose your allowance

Select the airline and bag type. Keep fare conditions and official sources beside the limits.

Check your dimensions

Enter measured dimensions for free, or use a photo for an approximate range. Weight needs your own measurement.

Compare and keep

Correct measurements, try another airline, save a check and share a report. Manual checks and saved rules work offline.

Useful guidance. Your airline decides.

Photo estimates can be wrong. Measure the whole bag and check your booking and the airline’s current official rules. A size result does not confirm weight, fare entitlement, compression, acceptance or fees.

Free access includes three admitted photo attempts per installation ever. Plus monthly or annual each includes ten per UTC calendar month. Admitted failed or cancelled attempts count; unused attempts do not roll over. Manual checks, browsing, comparisons, history, reports and support stay free. Apple shows the localized total and renewal terms before any purchase.

Service API reference

The native app uses these JSON routes. This reference is not an interactive upload form. Service and purchase access depend on configuration and verified allowances.

POST /api/estimate — submits {imageBase64, mimeType} for structured bag observations and uncertain dimension intervals. Requires x-installation-id (UUID v4); an optional x-storekit-transaction supplies Apple purchase proof. Native uploads are metadata-free JPEGs up to 1568 pixels per axis and 2 MB. Server validation permits JPEG/PNG up to 6 MiB, axes 128–4096 pixels and a bounded JSON body. An admitted attempt counts on failure or cancellation; invalid input does not.

GET /api/airlines — public versioned airline-policy catalog. Supports ETag validation and one-hour public caching. Fetching never changes a policy’s review date.

GET /api/access — requires the same identity/purchase headers and returns tier, remaining allowance, UTC reset and paid-expiry information.

GET /api/health — service health. A healthy route does not prove inference, purchases or email delivery.

POST /api/feedback — free support message with optional reply email and bounded app/device diagnostics. POST /api/errors — fixed technical failure codes only. Both require JSON, apply independent abuse limits, and do not require a purchase.

Responses use Cache-Control: no-store except the public airline catalog. Safe errors distinguish invalid input, exhausted quota, unavailable access and provider failure.