---
title: "Semantic Search Demo - Search Text by Meaning | CanDoYa"
description: "Try semantic search in your browser. Rank up to 50 English passages by meaning with local MiniLM embeddings, WebGPU, and a CPU fallback."
url: https://candoya.com/tools/semantic-search-demo/
locale: en
type: browser-tool
---

# Free Semantic Search Demo

Category: Social & Creator

## What is semantic search?

Semantic search finds text by meaning rather than exact keyword overlap. This demo converts an English query and up to 50 short passages into local MiniLM embeddings, compares their direction with cosine similarity, and ranks the closest matches. Your text stays in the browser while the public model downloads separately.

**This demo builds a temporary vector index in your browser.** Each non-empty line becomes one searchable passage. The model maps every passage and the query to a 384-number embedding, then the tool sorts the collection by cosine similarity. This is the retrieval step used before many retrieval-augmented generation systems, without the generation step or a server database.

WebGPU accelerates compatible browsers. If it is unavailable, the same search continues through a WebAssembly CPU fallback. The first run downloads model and runtime files; only your text remains local.

## How to use it

1. **Add the collection** - Paste one short English passage per line, or load the keyboard example.
2. **Describe what you need** - Enter a natural-language query. It can use different words from the relevant passage.
3. **Build the index and search** - Run the model, then review passages ordered by their cosine similarity score.
4. **Refine and compare** - Change the query or passages, search again, and copy the ranked list when useful.

## Who it's for

- **Product teams** testing whether natural-language help queries retrieve the right support snippets.
- **Developers** learning how embeddings and cosine similarity power a small vector search index.
- **Researchers and writers** finding conceptually related notes that use different vocabulary.
- **RAG prototypers** checking retrieval quality before adding chunking, metadata filters, or generation.

## Expert note

MiniLM truncates inputs after 256 word pieces, so retrieval quality is usually better when long documents are split into focused passages before indexing. The displayed percentage is cosine similarity clamped at zero, not a confidence probability.

## Frequently asked questions

### Is my text uploaded during semantic search?

No. Your query and passages are processed inside a browser worker and are not sent to CanDoYa. On the first run, the browser separately downloads the public Transformers.js runtime and MiniLM model files from a CDN. Those assets may then be cached by your browser.

### Is this semantic search demo free?

Yes. It is free to use without an account. The model runs on your device through WebGPU when available or through a WebAssembly CPU fallback, so there is no paid search API or hosted vector database behind the demo.

### How much text can I search?

The interface accepts up to 50 non-empty lines and keeps the first 500 characters of each line. The MiniLM model itself truncates each input after roughly 256 word pieces. For larger collections, use chunking, persistent vector storage, and batched indexing.

### How does semantic search differ from keyword search?

Keyword search rewards shared words or token patterns. Semantic search compares vector representations of meaning, so a query such as 'comfortable for long workdays' can retrieve a passage about an ergonomic keyboard even when the passage does not repeat the query exactly.

### What does the match percentage mean?

It is cosine similarity between the normalized query and passage embeddings, displayed from 0 to 100 after negative values are clamped to zero. It is useful for ranking passages within this collection, but it is not a probability, factuality score, or universal relevance threshold.

### Does semantic search work offline?

The first run needs a connection to download the model and Transformers.js runtime. A later run may work without a connection if the browser still has every required asset cached, but cache retention is controlled by the browser and is not guaranteed.

### Which languages does this demo support?

The all-MiniLM-L6-v2 model used here is trained for English sentence embeddings, so the page labels the tool English only. Other languages may produce vectors, but their ranking quality is not reliably calibrated. A multilingual embedding model is a better choice for multilingual search.

## Related tools

- [Text Similarity](https://candoya.com/tools/text-similarity/)
- [Keyword Extractor](https://candoya.com/tools/keyword-extractor/)
- [Question Answering](https://candoya.com/tools/question-answering/)
- [Text Classifier](https://candoya.com/tools/text-classifier/)
- [Text Summarizer](https://candoya.com/tools/text-summarizer/)

---

*Markdown edition of <https://candoya.com/tools/semantic-search-demo/>, published for AI agents and other automated readers. Index of key pages: <https://candoya.com/llms.txt>.*
