Skip to main content

Lance format overview

Lance is an open-source, columnar format designed for multimodal AI. It defines how data is stored and organized into versioned tables. LanceDB Embedded and LanceDB Enterprise both use Lance as their storage foundation. The format is developed as an independent open-source project, with its own specification and tools.

Multimodal data

A Lance table can hold images, video, audio, text, embeddings and structured metadata together. For example, a video dataset can keep each clip alongside its caption, labels and embeddings, so applications can search and work with those fields together.

Data access, versioning and column updates

  • Efficient data access. Read individual rows for retrieval and training, or scan columns for analytics.
  • Versioned data. Read an earlier table version to reproduce an experiment or inspect previous results, while that version is retained.
  • Independent column updates. Add embeddings or other derived features without rewriting the existing image, video or text columns.

Opening Lance datasets in Python

Any .lance dataset directory is a LanceDB table. Pass the parent directory to lancedb.connect() and open the table by its directory stem:
Use lancedb for search, retrieval, data curation, multimodal blob access and application code. Install pylance (import lance) only when building query engines or connectors, calling format-level fragment APIs directly, or converting plain-scan lazy or legacy blob columns with to_pandas() (see Multimodal data and blobs for pylance-free conversions).

Learn more