Choose your allowance
Select the airline and bag type. Keep fare conditions and official sources beside the limits.
Carry-on size checker · iPhone
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.
Select the airline and bag type. Keep fare conditions and official sources beside the limits.
Enter measured dimensions for free, or use a photo for an approximate range. Weight needs your own measurement.
Correct measurements, try another airline, save a check and share a report. Manual checks and saved rules work offline.
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.
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.