Note Wisdom
If you've ever tried to build a German-language application, run a linguistic analysis, or just
If you've ever tried to build a German-language application, run a linguistic analysis, or just wanted to check a word against a comprehensive list, you've probably run into a deceptively simple problem: where do you actually find a parsable list of German words? The answer turns out to be more complicated than you'd expect, and the journey through available resources reveals a landscape full of trade-offs between completeness, format, licensing, and data quality.
The core challenge is straightforward. You want a digital file—plain text, CSV, XML, or JSON—that contains German words in a format a computer can easily process. Ideally, the list should be comprehensive, covering the vast majority of the language. Inflections are a bonus but not strictly necessary. Acronyms and proper names can be filtered out if they're included. And if the list happens to include lexical class (noun, verb, adjective, etc.) and comes with an open license, even better.
What makes this tricky is that no single resource perfectly satisfies all these criteria. Some lists are huge but messy. Others are clean but small. Some come with restrictive licenses that prevent their use in modern software. And a few have quality issues so severe that they're actively misleading. What follows is a tour through the most commonly recommended options, along with an honest assessment of what each one actually delivers.
The most frequently recommended starting point is a plain text file hosted on SourceForge, part of a project called GermanDict. It contains slightly more than 1.2 million entries, including inflected forms, with one word per line in alphabetical order. That's a lot of words—more than most people would ever need for a typical application. The format couldn't be simpler: plain text, line-separated, easy to parse with any programming language.
But there are catches. First, the list includes a substantial number of English words. Some of these are loanwords that have genuinely entered German usage, like "sales." But others are just English words that happen to appear in the source data, and the list also includes a fair number of swearwords. If you're building a spell-checker or a vocabulary app, this contamination is a problem. You'll need to filter out the English words and the profanity, which requires additional processing and a reliable way to distinguish German from English.
Second, the list doesn't include definitions or lexical class information. It's just words. If you need to know whether a word is a noun, verb, or adjective—or what gender a noun has—you'll have to look that up elsewhere. For some applications, that's fine. For others, it's a dealbreaker.
The source material notes that the list is free to use, though the exact license terms aren't spelled out in detail. That's worth verifying before incorporating it into a commercial product.
A more academically grounded option comes from the Institut für Deutsche Sprache (IDS) in Mannheim, which offers corpus-based basic and word-form lists. These are derived from actual usage data, which means they reflect how German is actually written and spoken rather than relying on dictionary entries alone. The lists are available for download and are generally well-regarded in the computational linguistics community.
The trade-off is that these lists may not be as comprehensive as the GermanDict file, and they may require more processing to integrate into a project. They're also more oriented toward research than toward application development, so the documentation and format may be less immediately accessible to someone without a linguistics background.
If you're working on a Linux system—or willing to install the right packages—you may already have German word lists sitting on your hard drive. Most Linux distributions include dictionary files at paths like /usr/share/dict/ogerman and /usr/share/dict/ngerman. The "o" stands for old spelling, and the "n" stands for the reformed spelling that became standard in the late 1990s.
On one system described in the source material, the old-spelling file contained about 76,000 words, while the new-spelling file had about 330,000. That's a significant difference, and it reflects the fact that the reformed spelling generated a lot of new word forms, particularly with the ß/ss changes. The files are plain text, line-separated, and released under the GPL license on Debian-based systems. The relevant packages are wogerman and wngerman.
The advantage here is convenience. If you're already on Linux, you may not need to download anything. The disadvantage is that these lists are designed for spell-checking, not for comprehensive lexical coverage. They're good but not exhaustive.
Ubuntu and other Linux systems also come with dictionary files in less obvious locations. There's a PostgreSQL dictionary file at /var/cache/postgresql/dicts/de_de.dict that's about 1 MB in size, uncompressed. The format includes the word followed by a slash and a series of letters that encode morphological information—something like Abzug/STpm or Abzweig/hij. These letters follow a convention that's documented in the PostgreSQL documentation, but you'll need to look it up to interpret them correctly.
There are also Hunspell and Aspell dictionaries at /usr/share/hunspell/de_DE.dic and /var/lib/aspell/de-alt-common.rws, along with compressed .cwl.gz files. The Aspell files are compressed in a format that isn't immediately obvious—standard gunzip and word-list-compress don't work on them—so you'll need to figure out the right decompression method or find alternative sources.
These system dictionaries are convenient if you're already on Linux and comfortable working with system files. But they're not as well-documented as the more explicitly distributed word lists, and the morphological encoding requires some effort to decode.
The dict.cc translation file is one of the most comprehensive resources available, and it includes something the other lists lack: gender information for nouns and English translations. The format is straightforward, with entries like kalbsschnitzel n, luftmatratze f, and mitschnitt m—the letter indicates the gender (masculine, feminine, neuter). For anyone building a language-learning app or a dictionary tool, this is exactly the kind of data you want.
There's a significant problem, though: the license. The
Article + Bundle Download Full 6-lecture collection
All contents below are exclusive to the paid Word file, NOT available on this web page
The restrictiveness of the license is a recurring theme in discussions of German word lists. Many of the most useful resources—the ones that include definitions, translations, and grammatical information—come with licenses that make them impractical for software development. This is a real frustration for developers and researchers alike.
Google's NGram Viewer offers raw datasets for download, and these include German-language data. The datasets contain the number of occurrences of words and phrases (up to five words) in any given year, which makes them useful for statistical analysis and tracking how word usage has evolved over time. The format is well-documented and parsable, and the license is relatively permissive.
The limitation is that NGram data is not a simple word list. It's a frequency dataset, and it includes a lot of noise—OCR errors, proper names, and words from other languages that appeared in the scanned books. Extracting a clean German word list from NGram data is possible but requires significant processing.
The Leipzig Wortschatz project offers lists of the most frequently used words, up to 10,000 entries. These are plain text and easy to parse, and they're a good starting point for frequency-based analysis. But 10,000 words is far from comprehensive—the Duden Universalwörterbuch lists around half a million words, so the Leipzig list covers only about 2% of the lexicon.
For developers who want structured data with morphological information, the Morphy tool offers a downloadable XML file containing around 431,000 word forms. The license is Creative Commons Attribution-ShareAlike 4.0, which is relatively permissive. The XML format includes morphological parsing, so you can distinguish between different inflections of the same word.
The Kaikki project takes a different approach, offering a parsed JSON version of the German entries from English Wiktionary. This includes inflections, definitions, and categories, and it's available for download. It's one of the most comprehensive structured resources available, and the JSON format is easy to work with in most programming languages.
The trade-off with Wiktionary-derived data is that it inherits both the strengths and weaknesses of the source. Wiktionary is extensive and constantly updated, but it's also inconsistent in places. Some entries are meticulously detailed; others are stubs. The parsing process introduces its own potential for errors, and the data may not be as clean as a purpose-built corpus.
One resource that appears in search results but deserves special scrutiny is a GitHub repository containing a CSV of German words with their gender. At first glance, it looks exactly like what a language learner or developer would want: a simple, parsable list with gender information.
But a closer examination reveals serious problems. The list assigns gender to all parts of speech, not just nouns. Pronouns, verbs, adverbs, and numerals all get gender labels, which is linguistically nonsensical. The word ich (I) is listed as neuter. The word was (what) is listed as masculine. The verb ist (is) is neuter. habe (have) is feminine. jetzt (now) is neuter. zwei (two) is feminine.
This is not a minor error. It reflects a fundamental misunderstanding of what grammatical gender is. In German, only nouns have gender. Pronouns have person, number, and case, but not gender in the same sense. Verbs have tense, mood, and person, but not gender. Adverbs and numerals don't have gender at all. Assigning gender to these words is like saying that the English word "quickly" is feminine—it's not even wrong in an interesting way; it's just confused.
The list also ignores the fact that German nouns are always capitalized. The noun Leben (life) is missing from the list, but the verb leben (to live) is present and assigned a gender it doesn't have. Nouns with multiple possible genders are listed only once—Event appears only as masculine, with the equally common neuter form omitted. Some nouns appear only in the plural (Kraken) with the singular (Krake) missing. Compound words appear without their components—Naturjoghurt is present, but Joghurt is not.
The repository owner has acknowledged the issues and says the list is a work in progress, which is fair. But in its current state, it's not usable for any serious purpose. It's a useful reminder that not everything that looks like a parsable word list actually is one, and that quality control matters.
The biggest gap in the available resources is a single, comprehensive, well-structured, permissively licensed German word list with definitions, gender, and lexical class. No such resource exists in the public domain. Every option involves trade-offs.
Some lists are comprehensive but messy (GermanDict). Some are clean but small (Leipzig Wortschatz). Some have great data but restrictive licenses (dict.cc). Some are well-structured but incomplete (Morphy). Some are promising but flawed (the GitHub gender list). The ideal resource—one that combines comprehensive coverage, clean parsing, rich metadata, and an open license—does not appear to exist in a single package.
Another unresolved question is how to handle multi-gendered nouns. Words like Event, Filter, Gummi, and Joghurt can take more than one gender, sometimes with subtle differences in meaning or regional preference. Most lists simplify by picking one gender and ignoring the others, which loses information that might be important for some applications.
The treatment of compound words is also inconsistent. German is famous for its compound nouns, and a comprehensive list should include both the compounds and their components. But many lists include compounds without the base words, or vice versa. There's no standard convention for how to handle this.
Finally, the licensing landscape is genuinely challenging. The most useful resources for language learning and linguistic research often come with licenses that prohibit commercial use or distribution. This creates a barrier for developers who want to build tools that could benefit learners and researchers. The Creative Commons and GPL licenses used by some resources are more permissive, but they don't cover the full range of available data.
If you're building a spell-checker, the Linux system dictionaries (ogerman and ngerman) are a good starting point. They're comprehensive enough for most purposes, they're already on your system if you're using Linux, and they're GPL-licensed.
If you're building a language-learning app and need gender information, your options are more limited. The dict.cc file has the data you need but the license may prevent you from using it. The Morphy XML file includes morphological information and has a permissive license, but it may not include definitions. You may need to combine multiple sources to get everything you need.
If you're doing linguistic research, the IDS Mannheim lists and the Leipzig Wortschatz corpus are your best bets. They're designed for research use, they're well-documented, and they're based on actual usage data.
If you're just looking for a quick way to check whether a word is German, the GermanDict file will do the job, as long as you're willing to filter out the English words and swearwords.
If you're building something that needs to be comprehensive and high-quality, you may need to combine multiple sources and do significant processing. There's no single resource that does everything.
The search for a parsable list of German words is a reminder that data quality and licensing are just as important as coverage. A list that's comprehensive but messy is often less useful than a list that's smaller but clean. And a list that's perfect in every way except its license is, for many purposes, no list at all. The good news is that there are enough options available that most use cases can be addressed with some combination of the resources described here. The bad news is that there's no single, perfect solution—and anyone who tells you otherwise probably hasn't tried to use these lists in practice.
Skip hours of watching lectures. Get organized notes, exam prep materials and problem solutions all in one Word file.
Click to see everything included
All contents below are exclusive to the paid Word file, NOT available on this web page
Article + Bundle Download

