A love letter to idioms.
Every language has expressions that refuse to translate. They carry too much β history, humour, the texture of daily life. This is where World Expressions starts.
World Expressions is a free, open-source database of idiomatic expressions from around the world. You type a word, a feeling, or an idea β and discover how different languages name the same thing. The results are not just translations: they are windows into how different cultures think, argue, love, and joke.
The database currently holds over 1 500 expressions across French, English, Spanish, Italian, and Turkish. Each entry includes a meaning, an origin story, a usage example, and cross-language equivalents wherever they exist. The project is open source, continuously expanding, and entirely free.
Not every fixed phrase is the same thing. World Expressions distinguishes four main types β each with its own character and its own relationship to literal meaning.
Proverbs are short, self-contained sayings β usually metaphorical β that encode collective wisdom. They function as arguments: you cite a proverb to justify or warn. They are often old, often anonymous, and very literal in imagery while very abstract in meaning.
"Qui sΓ¨me le vent rΓ©colte la tempΓͺte." β He who sows the wind shall reap the whirlwind.Idioms are the beating heart of informal language. The words taken literally make no sense β or a completely different sense. They are learned as units, not assembled from parts. New speakers of a language struggle most with idioms, because no amount of vocabulary knowledge helps decode them.
"Avoir le cafard." β To have the cockroach. Meaning: to feel sad, to be depressed.Locutions are more grammatical animals β they behave like a single adverb, preposition, or adjective. Unlike idioms, their meaning is often guessable, but they must be used as a block. You can't rearrange the words or substitute synonyms. They give language its idiomatic rhythm.
"En catimini." β Furtively, on the quiet, without drawing attention.Slang is language's living edge. It mutates, dates quickly, and marks belonging. A word of argot signals "I'm part of this group, I talk like you". Some slang goes mainstream and loses its edge; other terms stay underground forever. In French, a whole branch of argot β verlan β works by reversing syllables: "femme" becomes "meuf", "l'envers" becomes "verlan".
"Kiffer." β To really like something. From Arabic "kif" (pleasure), via French urban slang.When you type a word into the search bar, the system doesn't just look for that exact string in a database. It runs four successive passes β each broader than the previous one β and assembles the results in order of relevance.
Results from each pass are visually separated in the results page, so you always know why an expression appeared. The four sections are labeled: Exact match Β· By meaning Β· Same concept Β· Via translations.
Beyond search, the app offers two other ways to explore the database β and they work quite differently. Understanding the difference makes navigation much more intuitive.
A broad editorial category grouping many concepts. Examples: Work & ambition, Money, Human relations, Humor & irony. There are 16 domains total.
A specific thematic tag shared by expressions that express the same idea β regardless of language. Examples: money, friendship, death, laziness. There are 540+ concepts in the database.
When you click an emoji in the search overlay β the grid that appears when you open the search β each emoji represents a domain. Clicking it brings you to a results page filtered by that domain: all expressions belonging to any concept within it, across all languages.
When you click a concept pill β the small labels that appear on expression cards or inside domain result pages β you go to a narrower view. Only expressions tagged with that specific concept appear. Searching "friendship" as a concept might return 40 expressions across 5 languages. Searching the Human relations domain would return hundreds, spanning friendship but also loyalty, betrayal, family, love, loneliness.
Both paths lead to the same unified results page, with the same layout, the same filters, the same ability to narrow by language or country. The URL always reflects what you're browsing β /search?domain=humor or /search?concept=sarcasm β so every view is shareable.
On every expression page, below the main content, you'll find a section titled Same idea in other languages. This is the cross-lingual heart of the app.
It works through concept links: every expression is connected to a thematic tag, and expressions sharing that tag are surfaced here. A French expression about luck will show its Turkish, Spanish, and Italian cousins β expressions that carry the same cultural weight, even if the images and metaphors are completely different. Each equivalent is shown with a confidence badge: Mirror (exact same meaning), Equivalent (very close), or In the same vein (related idea).
The database was built from public linguistic sources and curated manually. Meanings, origins, and usage examples were written or verified entry by entry β with AI assistance for the bulk of the work, and human review for quality. Cross-language equivalents were generated by a language model (Mistral) and are scored for confidence.
The database is not exhaustive β no database of expressions ever is. Languages grow, slang shifts, and what counts as a "real" expression is always debatable. The goal is depth over breadth: fewer expressions with richer content, rather than a raw list of thousands.
The entire codebase β FastAPI backend, Next.js frontend, database scripts, enrichment pipelines β is open source on GitHub. Contributions are welcome: new expressions, corrections, translations, design improvements, or ideas.
github.com/sinsan67/world-expressions βQuestions, a correction to report, a favourite expression to suggest β all welcome. You can reach out by email or find the project on Instagram.
Made with curiosity. Built in public.