Verified limit lookup

MySQL Row Size Limit

MySQL Row Size Limit, verified against MySQL's official documentation with scope, implementation impact, caveats, and a direct check.

Verified Aug 22, 20261 official source
Quick answer

MySQL documents internal row representation as 65,535 bytes. BLOB and TEXT contents are stored separately, but their pointers and overhead still count.

Verified Aug 22, 2026Official source

Current limits

ConstraintCurrent valueScopeVerified source
internal row representationBLOB and TEXT contents are stored separately, but their pointers and overhead still count.65,535 bytesMySQL 8.4OracleAug 22, 2026

Why does this limit matter?

A table can fail DDL before application data arrives because declared maximum column widths exceed the internal row budget.

This value is scoped to MySQL 8.4; a different plan, runtime, model, endpoint, region, or account can produce a different effective constraint.

What should you check?

  1. Calculate declared inline widths, character-set expansion, nullability, and storage-engine overhead.
  2. Confirm the exact plan, model, runtime, endpoint, region, and account that serve the failing workload.
  3. Record the observed value, response headers or configuration, timestamp, and source without logging secrets.

Important caveats

  • InnoDB's on-page row limit can be much smaller than the MySQL internal maximum.
  • Treat the official source and live account configuration as authoritative if they differ from this verified snapshot.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related

Related references and tools

Found an outdated limit? Report it.