Migrate to Qdrant

The Qdrant Migration Tool is a CLI that moves your vectors, metadata, and sparse embeddings from other vector databases into Qdrant. It runs as a Docker container, streams data in batches, and can resume interrupted migrations.

docker pull registry.cloud.qdrant.io/library/qdrant-migration

Supported Sources

SourceCLI SubcommandAuto-Creates Collection?
PineconepineconeYes
WeaviateweaviateNo (must pre-create)
MilvusmilvusYes
ElasticsearchelasticsearchYes
OpenSearchopensearchYes
pgvectorpgYes
S3 Vectorss3Yes
ChromachromaYes

The tool also supports Redis, MongoDB, FAISS, Apache Solr, and Qdrant-to-Qdrant migrations.

Not seeing your current vector store? Open an issue on GitHub and let us know!

General Advice

  1. Run the tool close to your databases. Direct connectivity between source and target is not required — the tool streams through the machine it runs on. For best performance, use a machine with low latency to both.

  2. Use --net=host for local instances. If either database runs on the host machine, the container needs host networking to reach localhost.

  3. The tool resumes by default. Migration progress is tracked in a _migration_offsets collection in Qdrant. If a migration is interrupted, re-running the same command picks up where it left off. Use --migration.restart to force a fresh start.

  4. Batch size is tunable. The default batch size is 50. For large migrations, increase it with --migration.batch-size (e.g., 256 or 512) to improve throughput.

Universal CLI Options

These flags apply to all source types:

FlagDefaultDescription
--migration.batch-size50Points per upsert batch
--migration.restartfalseIgnore saved progress, start fresh
--migration.create-collectiontrueAuto-create target collection
--migration.batch-delay0Milliseconds between batches
--migration.offsets-collection_migration_offsetsCollection used to track migration progress
--debug / --traceVerbose logging
--skip-tls-verificationfalseSkip TLS certificate verification

After Migration

Once your data is in Qdrant, verify that everything arrived correctly:

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.