├── .git-blame-ignore-revs ├── .github ├── dependabot.yml └── workflows │ └── build.yml ├── .gitignore ├── .rustfmt.toml ├── .vscode └── settings.json ├── Cargo.toml ├── LICENSE ├── README.md ├── build.rs ├── src ├── cli.rs ├── lib.rs └── main.rs ├── tests ├── alliterations.rs ├── petname.rs └── petnames.rs └── words ├── large ├── adjectives.txt ├── adverbs.txt └── nouns.txt ├── medium ├── adjectives.txt ├── adverbs.txt └── nouns.txt └── small ├── adjectives.txt ├── adverbs.txt └── nouns.txt /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # 2 | # Ignore commits in `git blame`. Newer commits first (but this doesn't matter 3 | # much). Include the first line of the commit message as a comment. 4 | # https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view 5 | # 6 | 7 | # Increase rustfmt's `max_width` to 110 (from default of 100). 8 | ff84ae082dea468b2673a3940b0f1730134a35e8 9 | # Reformat (`cargo fmt` & whatever VS Code does). 10 | 2e049b4bce0caa8da3f19cbc509b92c7a6993f05 11 | # Format source. 12 | 9cbadbcea4e252442198aa0e00858f93c9af3eba 13 | 409fec08dcd8496f34f80e5689ceefae1a1332bc 14 | # Format code with rustfmt 1.0.3-stable (d6829d62 2019-02-14). 15 | a8f9693243d5acc00d6409aacca98de916e1327b 16 | 17 | # End. 18 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: cargo 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "04:00" 8 | open-pull-requests-limit: 10 9 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: rust-petname CI 2 | 3 | on: 4 | push: 5 | schedule: 6 | - cron: "0 0 * * 0" # weekly 7 | 8 | jobs: 9 | test: 10 | name: Test 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: dtolnay/rust-toolchain@stable 15 | - run: cargo test 16 | - run: cargo test --no-default-features 17 | 18 | fmt: 19 | name: Rustfmt 20 | runs-on: ubuntu-latest 21 | steps: 22 | - uses: actions/checkout@v3 23 | - uses: dtolnay/rust-toolchain@stable 24 | with: 25 | components: rustfmt 26 | - run: cargo fmt --all -- --check 27 | 28 | clippy: 29 | name: Clippy # i.e. `cargo check` plus extra linting. 30 | runs-on: ubuntu-latest 31 | steps: 32 | - uses: actions/checkout@v3 33 | - uses: dtolnay/rust-toolchain@stable 34 | with: 35 | components: clippy 36 | - run: cargo clippy -- -D warnings 37 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | **/*.rs.bk 3 | Cargo.lock 4 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | use_small_heuristics = "Max" 2 | max_width = 110 3 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "Clippy", 4 | "dtolnay", 5 | "impls", 6 | "itertools", 7 | "pbcopy", 8 | "petname", 9 | "Petnames", 10 | "pname", 11 | "rngs", 12 | "rustfmt", 13 | "rustup", 14 | "Seedable", 15 | "shellsession", 16 | "smallrng", 17 | "struct", 18 | "tempdir" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | authors = ["Gavin Panella "] 3 | categories = ["command-line-utilities", "no-std"] 4 | description = "Generate human readable random names. Usable as a library and from the command-line." 5 | edition = "2021" 6 | keywords = ["pet", "name", "rand", "random", "generator"] 7 | license = "Apache-2.0" 8 | name = "petname" 9 | readme = "README.md" 10 | repository = "https://github.com/allenap/rust-petname" 11 | version = "3.0.0-alpha.2" 12 | 13 | [lib] 14 | name = "petname" 15 | path = "src/lib.rs" 16 | 17 | [[bin]] 18 | doc = false 19 | name = "petname" 20 | path = "src/main.rs" 21 | required-features = ["clap", "default-rng", "default-words"] 22 | 23 | [features] 24 | # `clap` is NOT required for the library but is required for the command-line 25 | # binary. Omitting it from the `default` list means that it must be specified 26 | # _every time_ you want to build the binary, so it's here as a convenience. 27 | default = ["clap", "default-rng", "default-words"] 28 | # Allows generating petnames with thread rng. 29 | default-rng = ["rand/thread_rng"] 30 | # Allows the default word lists to be used. 31 | default-words = [] 32 | 33 | [dev-dependencies] 34 | anyhow = "1" 35 | tempdir = "0.3" 36 | 37 | [build-dependencies] 38 | anyhow = "1" 39 | proc-macro2 = "1" 40 | quote = "1" 41 | 42 | [dependencies] 43 | clap = { version = "4.4", features = ["cargo", "derive"], optional = true } 44 | itertools = { version = ">=0.11", default-features = false } 45 | rand = { version = "0.9", default-features = false } 46 | 47 | [package.metadata.docs.rs] 48 | # Limit docs.rs builds to a single tier one target, because they're identical on 49 | # all. https://blog.rust-lang.org/2020/03/15/docs-rs-opt-into-fewer-targets.html 50 | targets = ["x86_64-unknown-linux-gnu"] 51 | 52 | # Follow some of the advice from https://github.com/johnthagen/min-sized-rust on 53 | # how to minimise the compiled (release build) binary size. At the time of 54 | # writing this reduces the binary from ~6MiB to ~2MiB. 55 | [profile.release] 56 | lto = true 57 | opt-level = "z" 58 | strip = true 59 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # rust-petname 2 | 3 | Generate human readable random names. 4 | 5 | **🚨 UPGRADING FROM 1.x? There are several breaking changes; please read the 6 | [notes](#upgrading-from-1x).** 7 | 8 | [Petnames][petname-intro] are useful when you need to name a large number of 9 | resources – like servers, services, perhaps bicycles for hire – and you want 10 | those names to be easy to recall and communicate unambiguously. For example, 11 | over a telephone compare saying "please restart remarkably-striking-cricket" 12 | with "please restart s01O97i4": the former is easier to say and less likely to 13 | be misunderstood. Avoiding sequential names adds confidence too: petnames have a 14 | greater lexical distance between them, so errors in transcription can be more 15 | readily detected. 16 | 17 | This crate is both a command-line tool and a [Rust][rust-lang] library. Dustin 18 | Kirkland's [petname][] project is the inspiration for this project. The word 19 | lists and the basic command-line UX here are taken from there. Check it out! 20 | Dustin maintains packages for [Python][petname-py], and [Golang][petname-go] 21 | too. 22 | 23 | Notable features: 24 | 25 | - Choose from 3 built-in word lists, or provide your own. 26 | - Alliterative names, like _viable-vulture_, _proper-pony_, ... 27 | - Build names with 1-255 components (adjectives, adverbs, nouns). 28 | - Name components can be unseparated, or joined by any character or string. 29 | - Generate 1..n names, or stream names continuously. 30 | - **`no_std` support** (see [later section](#features--no_std-support)). 31 | - Compile without built-in dictionaries to reduce library/binary size. 32 | 33 | [rust-lang]: https://www.rust-lang.org/ 34 | [petname-intro]: https://blog.dustinkirkland.com/2015/01/introducing-petname-libraries-for.html 35 | [petname]: https://github.com/dustinkirkland/petname 36 | [petname-py]: https://pypi.org/project/petname/ 37 | [petname-go]: https://github.com/dustinkirkland/golang-petname 38 | 39 | ## Command-line utility 40 | 41 | If you have [installed Cargo][install-cargo], you can install rust-petname with 42 | `cargo install petname`. This puts a `petname` binary in `~/.cargo/bin`, which 43 | the Cargo installation process will probably have added to your `PATH`. 44 | 45 | The `petname` binary from rust-petname is _mostly_ drop-in compatible with the 46 | original `petname`. It has more options and it's stricter when validating 47 | arguments, but for most uses it should behave the same[^differences]. 48 | 49 | [^differences]: 50 | When using the `--dir` option, Dustin Kirkland's _petname_ looks for a 51 | file named `names.txt` whereas this looks for `nouns.txt` first before 52 | checking for `names.txt`. 53 | 54 | ```shellsession 55 | $ petname -h 56 | Generate human readable random names 57 | 58 | Usage: petname [OPTIONS] 59 | 60 | Options: 61 | -w, --words Number of words in name [default: 2] 62 | -s, --separator Separator between words [default: -] 63 | --lists Use the built-in word lists with small, medium, or large words [default: medium] [possible values: small, medium, large] 64 | -c, --complexity Alias for compatibility with upstream; prefer --lists instead 65 | -d, --dir Use custom word lists by specifying a directory containing `adjectives.txt`, `adverbs.txt`, and `nouns.txt` 66 | --count Generate multiple names; or use --stream to generate continuously [default: 1] 67 | --stream Stream names continuously 68 | -l, --letters Maximum number of letters in each word; 0 for unlimited [default: 0] 69 | -a, --alliterate Generate names where each word begins with the same letter 70 | -A, --alliterate-with Generate names where each word begins with the given letter 71 | -u, --ubuntu Alias for compatibility with upstream; prefer --alliterate instead 72 | --seed Seed the RNG with this value (unsigned 64-bit integer in base-10) 73 | -h, --help Print help (see more with '--help') 74 | -V, --version Print version 75 | 76 | Based on Dustin Kirkland's petname project . 77 | 78 | $ petname 79 | unified-platypus 80 | 81 | $ petname -s _ -w 3 82 | lovely_notable_rooster 83 | ``` 84 | 85 | ### Performance 86 | 87 | This implementation is considerably faster than the upstream `petname`: 88 | 89 | ```shellsession 90 | $ time /usr/bin/petname 91 | fit-lark 92 | 93 | real 0m0.038s 94 | user 0m0.032s 95 | sys 0m0.008s 96 | 97 | $ time target/release/petname 98 | cool-guinea 99 | 100 | real 0m0.002s 101 | user 0m0.002s 102 | sys 0m0.000s 103 | ``` 104 | 105 | These timings are irrelevant if you only need to name a single thing, but if you 106 | need to generate 100s or 1000s of names then rust-petname is handy: 107 | 108 | ```shellsession 109 | $ time { for i in $(seq 1000); do /usr/bin/petname; done; } > /dev/null 110 | 111 | real 0m32.058s 112 | user 0m29.360s 113 | sys 0m5.163s 114 | 115 | $ time { for i in $(seq 1000); do target/release/petname; done; } > /dev/null 116 | 117 | real 0m2.199s 118 | user 0m1.333s 119 | sys 0m0.987s 120 | ``` 121 | 122 | To be fair, `/usr/bin/petname` is a shell script. The Go command-line version 123 | (available from the golang-petname package on Ubuntu) is comparable to the Rust 124 | version for speed, but has very limited options compared to its shell-script 125 | ancestor and to rust-petname. 126 | 127 | Lastly, rust-petname has a `--count` option that speeds up generation of names 128 | considerably: 129 | 130 | ```shellsession 131 | $ time target/release/petname --count=10000000 > /dev/null 132 | 133 | real 0m1.327s 134 | user 0m1.322s 135 | sys 0m0.004s 136 | ``` 137 | 138 | That's ~240,000 (two hundred and forty thousand) times faster, for about 7.5 139 | million petnames a second on this hardware. This is useful if you want to apply 140 | an external filter to the names being generated: 141 | 142 | ```shellsession 143 | $ petname --words=3 --stream | grep 'love.*\bsalmon$' 144 | ``` 145 | 146 | ## Library 147 | 148 | You can use rust-petname in your own Rust projects with `cargo add petname`. 149 | 150 | ## Features & `no_std` support 151 | 152 | There are a few features that can be selected – or, more correctly, 153 | _deselected_, since all features are enabled by default: 154 | 155 | - `default-rng` enables `std` and `std_rng` in [rand][]. A couple of convenience 156 | functions depend on this for a default RNG. 157 | - `default-words` enables the default word lists. Deselecting this will reduce 158 | the size of compiled artifacts. 159 | - `clap` enables the [clap][] command-line argument parser, which is needed to 160 | build the `petname` binary. 161 | - **NOTE** that `clap` is **not** necessary for the library at all, and you 162 | can deselect it, but it is presently a default feature since otherwise it's 163 | inconvenient to build the binary. This will probably change in the future. 164 | 165 | All of these are required to build the command-line utility. 166 | 167 | The library can be built without any default features, and it will work in a 168 | [`no_std`][no_std] environment, like [Wasm][]. You'll need to figure out a 169 | source of randomness, but [SmallRng::seed_from_u64][smallrng::seed_from_u64] may 170 | be a good starting point. 171 | 172 | [rand]: https://crates.io/crates/rand 173 | [clap]: https://crates.io/crates/clap 174 | [no_std]: https://doc.rust-lang.org/reference/crates-and-source-files.html#preludes-and-no_std 175 | [wasm]: https://webassembly.org/ 176 | [smallrng::seed_from_u64]: https://docs.rs/rand/latest/rand/trait.SeedableRng.html#method.seed_from_u64 177 | 178 | ## Upgrading from 1.x 179 | 180 | Version 2.0 brought several breaking changes to both the API and the 181 | command-line too. Below are the most important: 182 | 183 | ### Command-line 184 | 185 | - The `--complexity ` option has been replaced by `--lists `. 186 | - For compatibility, `--complexity [0,1,2]` will still work, but its 187 | availability is not shown in the `-h|--help` text. 188 | - The default is now "medium" (equivalent to `--complexity 1`). Previously it 189 | was "small" (`--complexity 0`). 190 | - When using custom word lists with `--dir `, nouns are now found in a file 191 | named appropriately `DIR/nouns.txt`. Previously this was `names.txt` but this 192 | was confusing; the term "names" is overloaded enough already. 193 | - For compatibility, if `nouns.txt` is not found, an attempt will be made to 194 | load nouns from `names.txt`. 195 | - The option `--count 0` is no longer a synonym for `--stream`. Use `--stream` 196 | instead. It's not an error to pass `--count 0`, but it will result in zero 197 | names being generated. 198 | - The `--non-repeating` flag is no longer recognised ([#101]). 199 | 200 | ### Library 201 | 202 | - Feature flags have been renamed: 203 | - `std_rng` is now `default-rng`, 204 | - `default_dictionary` is now `default-words`. 205 | - The `names` field on the `Petnames` struct has been renamed to `nouns`. 206 | - `Petnames::new()` is now `Petnames::default()`. 207 | - `Petnames::new(…)` now accepts word lists as strings. 208 | - `Names` is no longer public. This served as the iterator struct returned by 209 | `Petnames::iter(…)`, but this now hides the implementation details by 210 | returning `impl Iterator` instead. This also means that 211 | `Names::cardinality(&self)` is no longer available; use 212 | `Petnames::cardinality(&self, words: u8)` instead. 213 | - `Petnames::iter_non_repeating` has been removed ([#101]). 214 | - `Petnames::generate`, `Petnames::generate_one`, and `Petnames::iter` have been 215 | extracted into a `Generator` trait. This must be in scope in order to call 216 | those methods ([#102]). 217 | - The default word lists are now the "medium" lists. 218 | 219 | [#101]: https://github.com/allenap/rust-petname/pull/101 220 | [#102]: https://github.com/allenap/rust-petname/pull/102 221 | 222 | ## Developing & Contributing 223 | 224 | To hack the source: 225 | 226 | - [Install Cargo][install-cargo], 227 | - Clone this repository, 228 | - Build it: `cargo build`. 229 | - Optionally, hide noise when using `git blame`: `git config blame.ignoreRevsFile .git-blame-ignore-revs`. 230 | 231 | [install-cargo]: https://crates.io/install 232 | 233 | ### Running the tests 234 | 235 | After installing the source (see above) run tests with: `cargo test`. 236 | 237 | ### Making a release 238 | 239 | 1. Bump version in [`Cargo.toml`](Cargo.toml). 240 | 2. Paste updated `-h` output into [`README.md`](README.md) (this file; see near 241 | the top). On macOS the command `cargo run -- -h | pbcopy` is helpful. 242 | **Note** that `--help` output is not the same as `-h` output: it's more 243 | verbose and too much for an overview. 244 | 3. Build **and** test. The latter on its own does do a build, but a test build 245 | can hide warnings about dead code, so do both. 246 | - With default features: `cargo build && cargo test` 247 | - Without: `cargo build --no-default-features && cargo test --no-default-features` 248 | 4. Commit with message "Bump version to `$VERSION`." 249 | 5. Tag with "v`$VERSION`", e.g. `git tag v1.0.10`. 250 | 6. Push: `git push && git push --tags`. 251 | 7. Publish: `cargo publish`. 252 | 253 | ## License 254 | 255 | This project is licensed under the Apache 2.0 License. See the 256 | [LICENSE](LICENSE) file for details. 257 | -------------------------------------------------------------------------------- /build.rs: -------------------------------------------------------------------------------- 1 | use anyhow::{Context, Result}; 2 | use proc_macro2::TokenStream; 3 | use quote::{format_ident, quote}; 4 | use std::collections::HashSet; 5 | use std::env; 6 | use std::fs; 7 | use std::path::Path; 8 | 9 | fn main() -> Result<()> { 10 | let words_dir = Path::new("words"); 11 | let out_dir = env::var_os("OUT_DIR").context("OUT_DIR not set")?; 12 | let dest_path = Path::new(&out_dir).join("words.rs"); 13 | 14 | let list_sizes = ["small", "medium", "large"]; 15 | let list_names = ["adjectives", "adverbs", "nouns"]; 16 | 17 | // Generate modules for each list size. 18 | let list_modules = list_sizes 19 | .into_iter() 20 | .map(|list_size| { 21 | // Generate static lists for each list name. 22 | let lists = list_names 23 | .into_iter() 24 | .map(|list_name| { 25 | let words_path = words_dir.join(list_size).join(list_name).with_extension("txt"); 26 | // Remind Cargo to re-run if the word list changes. 27 | println!("cargo:rerun-if-changed={}", words_path.to_string_lossy()); 28 | let words_raw = fs::read_to_string(&words_path) 29 | .with_context(|| format!("Could not read word list from {words_path:?}"))?; 30 | let words = split_words_deduplicate_and_sort(&words_raw); 31 | let list_ident = format_ident!("{}", list_name.to_uppercase()); 32 | let list_len = words.len(); 33 | let list = quote! { pub static #list_ident: [&str; #list_len] = [ #( #words ),* ]; }; 34 | Ok(list) 35 | }) 36 | .collect::>>()?; 37 | let module_ident = format_ident!("{}", list_size); 38 | let module_tokens = quote! { pub mod #module_ident { #(#lists)* } }; 39 | Ok(module_tokens) 40 | }) 41 | .collect::>>()?; 42 | 43 | // Assemble the complete `words` module. 44 | let modules = quote! { #(#list_modules)* }; 45 | let module = modules.to_string(); 46 | 47 | // Write the module to the output file. 48 | fs::write(&dest_path, module) 49 | .with_context(|| format!("Could not write word lists to output file {dest_path:?}"))?; 50 | 51 | // DEBUG: Print the generated file's path as a warning: 52 | // println!("cargo:warning={}", dest_path.display()); 53 | 54 | // Remind Cargo when to re-run this build script. 55 | println!("cargo:rerun-if-changed=build.rs"); 56 | 57 | Ok(()) 58 | } 59 | 60 | fn split_words_deduplicate_and_sort(input: &str) -> Vec<&str> { 61 | // Ensure we have no duplicates. 62 | let words = input.split_whitespace().collect::>(); 63 | // Collect into a `Vec` and sort it. 64 | let mut words = words.into_iter().collect::>(); 65 | words.sort(); 66 | words 67 | } 68 | -------------------------------------------------------------------------------- /src/cli.rs: -------------------------------------------------------------------------------- 1 | use std::path::PathBuf; 2 | 3 | use clap::{builder::PossibleValue, Parser}; 4 | 5 | /// Generate human readable random names. 6 | #[derive(Parser)] 7 | #[command( 8 | name = "rust-petname", 9 | version, 10 | author, 11 | after_help = "Based on Dustin Kirkland's petname project ." 12 | )] 13 | pub struct Cli { 14 | /// Number of words in name 15 | #[arg(short, long, value_name = "WORDS", default_value_t = 2)] 16 | pub words: u8, 17 | 18 | /// Separator between words 19 | #[arg(short, long, value_name = "SEP", default_value = "-")] 20 | pub separator: String, 21 | 22 | /// Use the built-in word lists with small, medium, or large words 23 | #[arg(long, value_name = "LIST", default_value_t = WordList::Medium)] 24 | pub lists: WordList, 25 | 26 | // For compatibility with upstream. 27 | /// Alias for compatibility with upstream; prefer --lists instead 28 | #[arg(short, long, value_name = "NUM", default_value = None, conflicts_with = "lists", hide_possible_values = true)] 29 | pub complexity: Option, 30 | 31 | /// Use custom word lists by specifying a directory containing 32 | /// `adjectives.txt`, `adverbs.txt`, and `nouns.txt` 33 | #[arg(short, long = "dir", value_name = "DIR", conflicts_with = "lists")] 34 | pub directory: Option, 35 | 36 | /// Generate multiple names; or use --stream to generate continuously 37 | #[arg(long, value_name = "COUNT", default_value_t = 1)] 38 | pub count: usize, 39 | 40 | /// Stream names continuously 41 | #[arg(long, conflicts_with = "count")] 42 | pub stream: bool, 43 | 44 | /// Maximum number of letters in each word; 0 for unlimited 45 | #[arg(short, long, value_name = "LETTERS", default_value_t = 0)] 46 | pub letters: usize, 47 | 48 | /// Generate names where each word begins with the same letter 49 | #[arg(short, long)] 50 | pub alliterate: bool, 51 | 52 | /// Generate names where each word begins with the given letter 53 | #[arg(short = 'A', long, value_name = "LETTER")] 54 | pub alliterate_with: Option, 55 | 56 | // For compatibility with upstream. 57 | /// Alias for compatibility with upstream; prefer --alliterate instead 58 | #[arg(short, long, conflicts_with = "alliterate", conflicts_with = "alliterate_with")] 59 | pub ubuntu: bool, 60 | 61 | /// Seed the RNG with this value (unsigned 64-bit integer in base-10) 62 | /// 63 | /// This makes the names chosen deterministic and repeatable: with the same 64 | /// seed, the same names will be emitted. Note that which name or names are 65 | /// emitted is not guaranteed across versions of rust-petname because the 66 | /// underlying random number generator in use explicitly does not make that 67 | /// guarantee. 68 | #[arg(long, value_name = "SEED")] 69 | pub seed: Option, 70 | } 71 | 72 | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] 73 | pub enum WordList { 74 | Small, 75 | Medium, 76 | Large, 77 | } 78 | 79 | impl std::fmt::Display for WordList { 80 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 81 | match self { 82 | Self::Small => write!(f, "small"), 83 | Self::Medium => write!(f, "medium"), 84 | Self::Large => write!(f, "large"), 85 | } 86 | } 87 | } 88 | 89 | impl clap::ValueEnum for WordList { 90 | fn value_variants<'a>() -> &'a [Self] { 91 | &[Self::Small, Self::Medium, Self::Large] 92 | } 93 | 94 | fn to_possible_value(&self) -> Option { 95 | // Numeric aliases and the `-c|--complexity` alias for `--lists` are 96 | // for compatibility with https://github.com/dustinkirkland/petname. 97 | Some(match self { 98 | Self::Small => PossibleValue::new("small").alias("0"), 99 | Self::Medium => PossibleValue::new("medium").alias("1"), 100 | Self::Large => PossibleValue::new("large").alias("2"), 101 | }) 102 | } 103 | } 104 | 105 | /// Ensure command-line argument compatibility with those supported in Dustin 106 | /// Kirkland's [`petname`](https://github.com/dustinkirkland/petname). The 107 | /// documentation strings from the tests below are taken verbatim from that 108 | /// project's README. 109 | #[cfg(test)] 110 | mod compatibility { 111 | use clap::Parser; 112 | 113 | use super::{Cli, WordList}; 114 | 115 | /// -w|--words number of words in the name, default is 2, 116 | #[test] 117 | fn compat_words() { 118 | assert_eq!(Cli::parse_from(["petname"]).words, 2); 119 | assert_eq!(Cli::parse_from(["petname", "-w", "7"]).words, 7); 120 | assert_eq!(Cli::parse_from(["petname", "--words", "5"]).words, 5); 121 | assert_eq!(Cli::parse_from(["petname", "--words=6"]).words, 6); 122 | } 123 | 124 | /// -l|--letters maximum number of letters in each word, default is 125 | /// unlimited, 126 | #[test] 127 | fn compat_letters() { 128 | assert_eq!(Cli::parse_from(["petname"]).letters, 0); // means: unlimited. 129 | assert_eq!(Cli::parse_from(["petname", "-l", "7"]).letters, 7); 130 | assert_eq!(Cli::parse_from(["petname", "--letters", "5"]).letters, 5); 131 | assert_eq!(Cli::parse_from(["petname", "--letters=6"]).letters, 6); 132 | } 133 | 134 | /// -s|--separator string used to separate name words, default is '-', 135 | #[test] 136 | fn compat_separator() { 137 | assert_eq!(Cli::parse_from(["petname"]).separator, "-"); 138 | assert_eq!(Cli::parse_from(["petname", "-s", ":"]).separator, ":"); 139 | assert_eq!(Cli::parse_from(["petname", "--separator", "|"]).separator, "|"); 140 | assert_eq!(Cli::parse_from(["petname", "--separator=."]).separator, "."); 141 | } 142 | 143 | /// -c|--complexity [0, 1, 2]; 0 = easy words, 1 = standard words, 2 = 144 | /// complex words, default=1, 145 | #[test] 146 | fn compat_complexity() { 147 | assert_eq!(Cli::parse_from(["petname"]).complexity, None); 148 | assert_eq!(Cli::parse_from(["petname", "-c", "0"]).complexity, Some(WordList::Small)); 149 | assert_eq!(Cli::parse_from(["petname", "--complexity", "1"]).complexity, Some(WordList::Medium)); 150 | assert_eq!(Cli::parse_from(["petname", "--complexity=2"]).complexity, Some(WordList::Large)); 151 | } 152 | 153 | /// -u|--ubuntu generate ubuntu-style names, alliteration of first character 154 | /// of each word. 155 | #[test] 156 | fn compat_ubuntu() { 157 | assert!(!Cli::parse_from(["petname"]).ubuntu); 158 | assert!(Cli::parse_from(["petname", "-u"]).ubuntu); 159 | assert!(Cli::parse_from(["petname", "--ubuntu"]).ubuntu); 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | #![no_std] 2 | //! 3 | //! You can populate [`Petnames`] with your own word lists, but the word lists 4 | //! from upstream [petname](https://github.com/dustinkirkland/petname) are 5 | //! included with the `default-words` feature (enabled by default). See 6 | //! [`Petnames::small`], [`Petnames::medium`], and [`Petnames::large`] to select 7 | //! a particular built-in word list, or use [`Petnames::default`]. 8 | //! 9 | //! The other thing you need is a random number generator from [rand][]: 10 | //! 11 | //! ```rust 12 | //! use petname::Generator; // Trait needs to be in scope for `generate`. 13 | //! # #[cfg(feature = "default-rng")] 14 | //! let mut rng = rand::thread_rng(); 15 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 16 | //! let name = petname::Petnames::default().generate(&mut rng, 7, ":").expect("no names"); 17 | //! ``` 18 | //! 19 | //! It may be more convenient to use the default random number generator: 20 | //! 21 | //! ```rust 22 | //! use petname::Generator; // Trait needs to be in scope for `generate_one`. 23 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 24 | //! let name = petname::Petnames::default().generate_one(7, ":").expect("no names"); 25 | //! ``` 26 | //! 27 | //! There's a [convenience function][petname] that'll do all of this: 28 | //! 29 | //! ```rust 30 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 31 | //! let name = petname::petname(7, ":"); 32 | //! ``` 33 | //! 34 | //! But the most flexible approach is to create an [`Iterator`] with 35 | //! [`iter`][`Petnames::iter`]: 36 | //! 37 | //! ```rust 38 | //! use petname::Generator; // Trait needs to be in scope for `iter`. 39 | //! # #[cfg(feature = "default-rng")] 40 | //! let mut rng = rand::thread_rng(); 41 | //! # #[cfg(feature = "default-words")] 42 | //! let petnames = petname::Petnames::default(); 43 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 44 | //! let ten_thousand_names: Vec = 45 | //! petnames.iter(&mut rng, 3, "_").take(10000).collect(); 46 | //! ``` 47 | //! 48 | //! You can modify the word lists to, for example, only use words beginning with 49 | //! the letter "b": 50 | //! 51 | //! ```rust 52 | //! # use petname::Generator; 53 | //! # #[cfg(feature = "default-words")] 54 | //! let mut petnames = petname::Petnames::default(); 55 | //! # #[cfg(feature = "default-words")] 56 | //! petnames.retain(|s| s.starts_with("b")); 57 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 58 | //! let name = petnames.generate_one(3, ".").expect("no names"); 59 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 60 | //! assert!(name.starts_with('b')); 61 | //! ``` 62 | //! 63 | //! There's another way to generate alliterative petnames which is useful when 64 | //! you you don't need or want each name to be limited to using the same initial 65 | //! letter as the previous generated name. Create the `Petnames` as before, and 66 | //! then convert it into an [`Alliterations`]: 67 | //! 68 | //! ```rust 69 | //! # use petname::Generator; 70 | //! # #[cfg(feature = "default-words")] 71 | //! let mut petnames = petname::Petnames::default(); 72 | //! # #[cfg(feature = "default-words")] 73 | //! let mut alliterations: petname::Alliterations = petnames.into(); 74 | //! # #[cfg(all(feature = "default-rng", feature = "default-words"))] 75 | //! alliterations.generate_one(3, "/").expect("no names"); 76 | //! ``` 77 | //! 78 | //! Both [`Petnames`] and [`Alliterations`] implement [`Generator`]; this needs 79 | //! to be in scope in order to generate names. It's [object-safe] so you can use 80 | //! `Petnames` and `Alliterations` as trait objects: 81 | //! 82 | //! [object-safe]: 83 | //! https://doc.rust-lang.org/reference/items/traits.html#object-safety 84 | //! 85 | //! ```rust 86 | //! use petname::Generator; 87 | //! # #[cfg(feature = "default-words")] 88 | //! let generator: &dyn Generator = &petname::Petnames::default(); 89 | //! # #[cfg(feature = "default-words")] 90 | //! let generator: &dyn Generator = &petname::Alliterations::default(); 91 | //! ``` 92 | //! 93 | 94 | extern crate alloc; 95 | 96 | use alloc::{ 97 | borrow::Cow, 98 | boxed::Box, 99 | collections::BTreeMap, 100 | string::{String, ToString}, 101 | vec::Vec, 102 | }; 103 | 104 | use rand::seq::{IndexedRandom, IteratorRandom}; 105 | 106 | /// Convenience function to generate a new petname from default word lists. 107 | #[allow(dead_code)] 108 | #[cfg(all(feature = "default-rng", feature = "default-words"))] 109 | pub fn petname(words: u8, separator: &str) -> Option { 110 | Petnames::default().generate_one(words, separator) 111 | } 112 | 113 | /// A word list. 114 | pub type Words<'a> = Cow<'a, [&'a str]>; 115 | 116 | #[cfg(feature = "default-words")] 117 | mod words { 118 | include!(concat!(env!("OUT_DIR"), "/words.rs")); 119 | } 120 | 121 | /// Trait that defines a generator of petnames. 122 | /// 123 | /// There are default implementations of `generate`, `generate_one` and `iter`, i.e. only 124 | /// `generate_raw` needs to be implemented. 125 | /// 126 | pub trait Generator<'a> { 127 | /// Generate a new petname. 128 | /// 129 | /// # Examples 130 | /// 131 | /// ```rust 132 | /// # use petname::Generator; 133 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 134 | /// let mut rng = rand::thread_rng(); 135 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 136 | /// petname::Petnames::default().generate(&mut rng, 7, ":"); 137 | /// ``` 138 | /// 139 | /// # Notes 140 | /// 141 | /// This may return fewer words than you request if one or more of the word 142 | /// lists are empty. For example, if there are no adverbs, requesting 3 or 143 | /// more words may still yield only "doubtful-salmon". 144 | /// 145 | fn generate(&self, rng: &mut dyn rand::RngCore, words: u8, separator: &str) -> Option { 146 | self.generate_raw(rng, words).map(|x| x.join(separator)) 147 | } 148 | 149 | /// Generate a single new petname. 150 | /// 151 | /// This is like `generate` but uses `rand::thread_rng` as the random 152 | /// source. For efficiency use `generate` when creating multiple names, or 153 | /// when you want to use a custom source of randomness. 154 | #[cfg(feature = "default-rng")] 155 | fn generate_one(&self, words: u8, separator: &str) -> Option { 156 | self.generate(&mut rand::rng(), words, separator) 157 | } 158 | 159 | /// Generate a new petname and return the constituent words. 160 | /// 161 | /// # Examples 162 | /// 163 | /// ```rust 164 | /// # use petname::Generator; 165 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 166 | /// let mut rng = rand::thread_rng(); 167 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 168 | /// assert_eq!(7, petname::Petnames::default().generate_raw(&mut rng, 7).unwrap().len()); 169 | /// ``` 170 | /// 171 | /// # Notes 172 | /// 173 | /// This may return fewer words than you request if one or more of the word 174 | /// lists are empty. For example, if there are no adverbs, requesting 3 or 175 | /// more words may still yield only `["doubtful", "salmon"]`. 176 | /// 177 | fn generate_raw(&self, rng: &mut dyn rand::RngCore, words: u8) -> Option>; 178 | 179 | /// Iterator yielding petnames. 180 | /// 181 | /// # Examples 182 | /// 183 | /// ```rust 184 | /// # use petname::Generator; 185 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 186 | /// let mut rng = rand::thread_rng(); 187 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 188 | /// let petnames = petname::Petnames::default(); 189 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 190 | /// let mut iter = petnames.iter(&mut rng, 4, "_"); 191 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 192 | /// println!("name: {}", iter.next().unwrap()); 193 | /// ``` 194 | fn iter( 195 | &'a self, 196 | rng: &'a mut dyn rand::RngCore, 197 | words: u8, 198 | separator: &str, 199 | ) -> Box + 'a> 200 | where 201 | Self: Sized, 202 | { 203 | let names = Names { generator: self, rng, words, separator: separator.to_string() }; 204 | Box::new(names) 205 | } 206 | } 207 | 208 | /// Word lists and the logic to combine them into _petnames_. 209 | /// 210 | /// A _petname_ with `n` words will contain, in order: 211 | /// 212 | /// * `n - 2` adverbs when `n >= 2`, otherwise 0 adverbs. 213 | /// * 1 adjective when `n >= 2`, otherwise 0 adjectives. 214 | /// * 1 noun when `n >= 1`, otherwise 0 nouns. 215 | /// 216 | #[derive(Clone, Debug, Eq, PartialEq)] 217 | pub struct Petnames<'a> { 218 | pub adjectives: Words<'a>, 219 | pub adverbs: Words<'a>, 220 | pub nouns: Words<'a>, 221 | } 222 | 223 | impl<'a> Petnames<'a> { 224 | /// Constructs a new `Petnames` from the small word lists. 225 | #[cfg(feature = "default-words")] 226 | pub fn small() -> Self { 227 | Self { 228 | adjectives: Cow::from(&words::small::ADJECTIVES[..]), 229 | adverbs: Cow::from(&words::small::ADVERBS[..]), 230 | nouns: Cow::from(&words::small::NOUNS[..]), 231 | } 232 | } 233 | 234 | /// Constructs a new `Petnames` from the medium word lists. 235 | #[cfg(feature = "default-words")] 236 | pub fn medium() -> Self { 237 | Self { 238 | adjectives: Cow::from(&words::medium::ADJECTIVES[..]), 239 | adverbs: Cow::from(&words::medium::ADVERBS[..]), 240 | nouns: Cow::from(&words::medium::NOUNS[..]), 241 | } 242 | } 243 | 244 | /// Constructs a new `Petnames` from the large word lists. 245 | #[cfg(feature = "default-words")] 246 | pub fn large() -> Self { 247 | Self { 248 | adjectives: Cow::from(&words::large::ADJECTIVES[..]), 249 | adverbs: Cow::from(&words::large::ADVERBS[..]), 250 | nouns: Cow::from(&words::large::NOUNS[..]), 251 | } 252 | } 253 | 254 | /// Constructs a new `Petnames` from the given word lists. 255 | /// 256 | /// The words are extracted from the given strings by splitting on whitespace. 257 | pub fn new(adjectives: &'a str, adverbs: &'a str, nouns: &'a str) -> Self { 258 | Self { 259 | adjectives: Cow::Owned(adjectives.split_whitespace().collect()), 260 | adverbs: Cow::Owned(adverbs.split_whitespace().collect()), 261 | nouns: Cow::Owned(nouns.split_whitespace().collect()), 262 | } 263 | } 264 | 265 | /// Keep words matching a predicate. 266 | /// 267 | /// # Examples 268 | /// 269 | /// ```rust 270 | /// # use petname::Generator; 271 | /// # #[cfg(feature = "default-words")] 272 | /// let mut petnames = petname::Petnames::default(); 273 | /// # #[cfg(feature = "default-words")] 274 | /// petnames.retain(|s| s.starts_with("h")); 275 | /// # #[cfg(all(feature = "default-words", feature = "default-rng"))] 276 | /// assert!(petnames.generate_one(2, ".").unwrap().starts_with('h')); 277 | /// ``` 278 | /// 279 | /// This is a convenience wrapper that applies the same predicate to the 280 | /// adjectives, adverbs, and nouns lists. 281 | /// 282 | pub fn retain(&mut self, mut predicate: F) 283 | where 284 | F: FnMut(&str) -> bool, 285 | { 286 | self.adjectives.to_mut().retain(|word| predicate(word)); 287 | self.adverbs.to_mut().retain(|word| predicate(word)); 288 | self.nouns.to_mut().retain(|word| predicate(word)); 289 | } 290 | 291 | /// Calculate the cardinality of this `Petnames`. 292 | /// 293 | /// If this is low, names may be repeated by the generator with a higher 294 | /// frequency than your use-case may allow. 295 | /// 296 | /// This can saturate. If the total possible combinations of words exceeds 297 | /// `u128::MAX` then this will return `u128::MAX`. 298 | pub fn cardinality(&self, words: u8) -> u128 { 299 | Lists::new(words) 300 | .map(|list| match list { 301 | List::Adverb => self.adverbs.len() as u128, 302 | List::Adjective => self.adjectives.len() as u128, 303 | List::Noun => self.nouns.len() as u128, 304 | }) 305 | .reduce(u128::saturating_mul) 306 | .unwrap_or(0u128) 307 | } 308 | } 309 | 310 | impl<'a> Generator<'a> for Petnames<'a> { 311 | fn generate_raw(&self, rng: &mut dyn rand::RngCore, words: u8) -> Option> { 312 | let name = Lists::new(words) 313 | .filter_map(|list| match list { 314 | List::Adverb => self.adverbs.choose(rng).copied(), 315 | List::Adjective => self.adjectives.choose(rng).copied(), 316 | List::Noun => self.nouns.choose(rng).copied(), 317 | }) 318 | .collect::>(); 319 | if name.is_empty() { 320 | None 321 | } else { 322 | Some(name) 323 | } 324 | } 325 | } 326 | 327 | #[cfg(feature = "default-words")] 328 | impl Default for Petnames<'_> { 329 | /// Constructs a new [`Petnames`] from the default (medium) word lists. 330 | fn default() -> Self { 331 | Self::medium() 332 | } 333 | } 334 | 335 | /// Word lists prepared for alliteration. 336 | #[derive(Clone, Debug, Eq, PartialEq)] 337 | pub struct Alliterations<'a> { 338 | groups: BTreeMap>, 339 | } 340 | 341 | impl Alliterations<'_> { 342 | /// Keep only those groups that match a predicate. 343 | pub fn retain(&mut self, predicate: F) 344 | where 345 | F: FnMut(&char, &mut Petnames) -> bool, 346 | { 347 | self.groups.retain(predicate) 348 | } 349 | 350 | /// Calculate the cardinality of this `Alliterations`. 351 | /// 352 | /// This is the sum of the cardinality of all groups. 353 | /// 354 | /// This can saturate. If the total possible combinations of words exceeds 355 | /// `u128::MAX` then this will return `u128::MAX`. 356 | pub fn cardinality(&self, words: u8) -> u128 { 357 | self.groups 358 | .values() 359 | .map(|petnames| petnames.cardinality(words)) 360 | .reduce(u128::saturating_add) 361 | .unwrap_or(0u128) 362 | } 363 | } 364 | 365 | impl<'a> From> for Alliterations<'a> { 366 | fn from(petnames: Petnames<'a>) -> Self { 367 | let mut adjectives: BTreeMap> = group_words_by_first_letter(petnames.adjectives); 368 | let mut adverbs: BTreeMap> = group_words_by_first_letter(petnames.adverbs); 369 | let nouns: BTreeMap> = group_words_by_first_letter(petnames.nouns); 370 | // We find all adjectives and adverbs that start with the same letter as 371 | // each group of nouns. We start from nouns because it's possible to 372 | // have a petname with length of 1, i.e. a noun. This means that it's 373 | // okay at this point for the adjectives and adverbs lists to be empty. 374 | Alliterations { 375 | groups: nouns.into_iter().fold(BTreeMap::default(), |mut acc, (first_letter, nouns)| { 376 | acc.insert( 377 | first_letter, 378 | Petnames { 379 | adjectives: adjectives.remove(&first_letter).unwrap_or_default().into(), 380 | adverbs: adverbs.remove(&first_letter).unwrap_or_default().into(), 381 | nouns: Cow::from(nouns), 382 | }, 383 | ); 384 | acc 385 | }), 386 | } 387 | } 388 | } 389 | 390 | impl<'a, GROUPS> From for Alliterations<'a> 391 | where 392 | GROUPS: IntoIterator)>, 393 | { 394 | fn from(groups: GROUPS) -> Self { 395 | Self { groups: groups.into_iter().collect() } 396 | } 397 | } 398 | 399 | fn group_words_by_first_letter(words: Words) -> BTreeMap> { 400 | words.iter().fold(BTreeMap::default(), |mut acc, s| match s.chars().next() { 401 | Some(first_letter) => { 402 | acc.entry(first_letter).or_default().push(s); 403 | acc 404 | } 405 | None => acc, 406 | }) 407 | } 408 | 409 | impl<'a> Generator<'a> for Alliterations<'a> { 410 | /// Generate a new petname. 411 | /// 412 | /// # Examples 413 | /// 414 | /// ```rust 415 | /// # use petname::Generator; 416 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 417 | /// let mut rng = rand::thread_rng(); 418 | /// # #[cfg(all(feature = "default-rng", feature = "default-words"))] 419 | /// petname::Petnames::default().generate(&mut rng, 7, ":"); 420 | /// ``` 421 | /// 422 | /// # Notes 423 | /// 424 | /// This may return fewer words than you request if one or more of the word 425 | /// lists are empty. For example, if there are no adverbs, requesting 3 or 426 | /// more words may still yield only "doubtful-salmon". 427 | /// 428 | fn generate_raw(&self, rng: &mut dyn rand::RngCore, words: u8) -> Option> { 429 | self.groups.values().choose(rng).and_then(|group| group.generate_raw(rng, words)) 430 | } 431 | } 432 | 433 | #[cfg(feature = "default-words")] 434 | impl Default for Alliterations<'_> { 435 | /// Constructs a new [`Alliterations`] from the default [`Petnames`]. 436 | fn default() -> Self { 437 | Petnames::default().into() 438 | } 439 | } 440 | 441 | /// Enum representing which word list to use. 442 | #[derive(Debug, PartialEq)] 443 | enum List { 444 | Adverb, 445 | Adjective, 446 | Noun, 447 | } 448 | 449 | /// Iterator, yielding which word list to use next. 450 | /// 451 | /// This yields the appropriate list – [adverbs][List::Adverb], 452 | /// [adjectives][List::Adjective]s, [nouns][List::Nouns] – from which to select 453 | /// a word when constructing a petname of `n` words. For example, if you want 4 454 | /// words in your petname, this will first yield [List::Adverb], then 455 | /// [List::Adverb] again, then [List::Adjective], and lastly [List::Noun]. 456 | #[derive(Debug, PartialEq)] 457 | enum Lists { 458 | Adverb(u8), 459 | Adjective, 460 | Noun, 461 | Done, 462 | } 463 | 464 | impl Lists { 465 | fn new(words: u8) -> Self { 466 | match words { 467 | 0 => Self::Done, 468 | 1 => Self::Noun, 469 | 2 => Self::Adjective, 470 | n => Self::Adverb(n - 3), 471 | } 472 | } 473 | 474 | fn current(&self) -> Option { 475 | match self { 476 | Self::Adjective => Some(List::Adjective), 477 | Self::Adverb(_) => Some(List::Adverb), 478 | Self::Noun => Some(List::Noun), 479 | Self::Done => None, 480 | } 481 | } 482 | 483 | fn advance(&mut self) { 484 | *self = match self { 485 | Self::Adverb(0) => Self::Adjective, 486 | Self::Adverb(remaining) => Self::Adverb(*remaining - 1), 487 | Self::Adjective => Self::Noun, 488 | Self::Noun | Self::Done => Self::Done, 489 | } 490 | } 491 | 492 | fn remaining(&self) -> usize { 493 | match self { 494 | Self::Adverb(n) => (n + 3) as usize, 495 | Self::Adjective => 2, 496 | Self::Noun => 1, 497 | Self::Done => 0, 498 | } 499 | } 500 | } 501 | 502 | impl Iterator for Lists { 503 | type Item = List; 504 | 505 | fn next(&mut self) -> Option { 506 | let current = self.current(); 507 | self.advance(); 508 | current 509 | } 510 | 511 | fn size_hint(&self) -> (usize, Option) { 512 | let remaining = self.remaining(); 513 | (remaining, Some(remaining)) 514 | } 515 | } 516 | 517 | /// Iterator yielding petnames. 518 | struct Names<'a, GENERATOR> 519 | where 520 | GENERATOR: Generator<'a>, 521 | { 522 | generator: &'a GENERATOR, 523 | rng: &'a mut dyn rand::RngCore, 524 | words: u8, 525 | separator: String, 526 | } 527 | 528 | impl<'a, GENERATOR> Iterator for Names<'a, GENERATOR> 529 | where 530 | GENERATOR: Generator<'a>, 531 | { 532 | type Item = String; 533 | 534 | fn next(&mut self) -> Option { 535 | self.generator.generate(self.rng, self.words, &self.separator) 536 | } 537 | } 538 | 539 | #[cfg(test)] 540 | mod tests { 541 | #[test] 542 | fn lists_sequences_adverbs_adjectives_then_names() { 543 | let mut lists = super::Lists::new(4); 544 | assert_eq!(super::Lists::Adverb(1), lists); 545 | assert_eq!(Some(super::List::Adverb), lists.next()); 546 | assert_eq!(super::Lists::Adverb(0), lists); 547 | assert_eq!(Some(super::List::Adverb), lists.next()); 548 | assert_eq!(super::Lists::Adjective, lists); 549 | assert_eq!(Some(super::List::Adjective), lists.next()); 550 | assert_eq!(super::Lists::Noun, lists); 551 | assert_eq!(Some(super::List::Noun), lists.next()); 552 | assert_eq!(super::Lists::Done, lists); 553 | assert_eq!(None, lists.next()); 554 | } 555 | 556 | #[test] 557 | fn lists_size_hint() { 558 | let mut lists = super::Lists::new(3); 559 | assert_eq!((3, Some(3)), lists.size_hint()); 560 | assert!(lists.next().is_some()); 561 | assert_eq!((2, Some(2)), lists.size_hint()); 562 | assert!(lists.next().is_some()); 563 | assert_eq!((1, Some(1)), lists.size_hint()); 564 | assert!(lists.next().is_some()); 565 | assert_eq!((0, Some(0)), lists.size_hint()); 566 | assert_eq!(None, lists.next()); 567 | assert_eq!((0, Some(0)), lists.size_hint()); 568 | } 569 | } 570 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | mod cli; 2 | 3 | use cli::Cli; 4 | use petname::Alliterations; 5 | use petname::{Generator, Petnames}; 6 | 7 | use std::fmt; 8 | use std::fs; 9 | use std::io; 10 | use std::path; 11 | use std::process; 12 | 13 | use clap::Parser; 14 | use rand::SeedableRng; 15 | 16 | fn main() { 17 | let cli = Cli::parse(); 18 | 19 | // Manage stdout and buffer in a single scope so that `Drop` impls are 20 | // called before we handle `run`'s result, e.g. by exiting the process. 21 | let result = { 22 | let stdout = io::stdout(); 23 | let mut writer = io::BufWriter::new(stdout.lock()); 24 | run(cli, &mut writer) 25 | }; 26 | 27 | match result { 28 | Ok(()) | Err(Error::Disconnected) => { 29 | process::exit(0); 30 | } 31 | Err(e) => { 32 | eprintln!("Error: {e}"); 33 | process::exit(1); 34 | } 35 | } 36 | } 37 | 38 | #[derive(Debug)] 39 | enum Error { 40 | Io(io::Error), 41 | FileIo(path::PathBuf, io::Error), 42 | Cardinality(String), 43 | Alliteration(String), 44 | Disconnected, 45 | } 46 | 47 | impl fmt::Display for Error { 48 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 49 | match *self { 50 | Error::Io(ref e) => write!(f, "{e}"), 51 | Error::FileIo(ref path, ref e) => write!(f, "{e}: {}", path.display()), 52 | Error::Cardinality(ref message) => write!(f, "cardinality is zero: {message}"), 53 | Error::Alliteration(ref message) => write!(f, "cannot alliterate: {message}"), 54 | Error::Disconnected => write!(f, "caller disconnected / stopped reading"), 55 | } 56 | } 57 | } 58 | 59 | impl From for Error { 60 | fn from(error: io::Error) -> Self { 61 | Error::Io(error) 62 | } 63 | } 64 | 65 | fn run(cli: Cli, writer: &mut OUT) -> Result<(), Error> 66 | where 67 | OUT: io::Write, 68 | { 69 | // Load custom word lists, if specified. 70 | let words = match cli.directory { 71 | Some(dirname) => Words::load(dirname)?, 72 | None => Words::Builtin, 73 | }; 74 | 75 | // Select the appropriate word list. 76 | let mut petnames = match words { 77 | Words::Custom(ref adjectives, ref adverbs, ref nouns) => Petnames::new(adjectives, adverbs, nouns), 78 | Words::Builtin => match cli.lists { 79 | cli::WordList::Small => Petnames::small(), 80 | cli::WordList::Medium => Petnames::medium(), 81 | cli::WordList::Large => Petnames::large(), 82 | }, 83 | }; 84 | 85 | // If requested, limit the number of letters. 86 | let letters = cli.letters; 87 | if letters != 0 { 88 | petnames.retain(|s| s.len() <= letters); 89 | } 90 | 91 | // Check cardinality. 92 | if petnames.cardinality(cli.words) == 0 { 93 | return Err(Error::Cardinality("no petnames to choose from; try relaxing constraints".to_string())); 94 | } 95 | 96 | // We're going to need a source of randomness. 97 | let mut rng = 98 | cli.seed.map(rand::rngs::StdRng::seed_from_u64).unwrap_or_else(rand::rngs::StdRng::from_os_rng); 99 | 100 | // Stream, or print a limited number of words? 101 | let count = if cli.stream { None } else { Some(cli.count) }; 102 | 103 | // Get an iterator for the names we want to print out, handling alliteration. 104 | if cli.alliterate || cli.ubuntu { 105 | let mut alliterations: Alliterations = petnames.into(); 106 | alliterations.retain(|_, group| group.cardinality(cli.words) > 0); 107 | if alliterations.cardinality(cli.words) == 0 { 108 | return Err(Error::Alliteration("word lists have no initial letters in common".to_string())); 109 | } 110 | printer(writer, alliterations.iter(&mut rng, cli.words, &cli.separator), count) 111 | } else if let Some(alliterate_with) = cli.alliterate_with { 112 | let mut alliterations: Alliterations = petnames.into(); 113 | alliterations.retain(|first_letter, group| { 114 | *first_letter == alliterate_with && group.cardinality(cli.words) > 0 115 | }); 116 | if alliterations.cardinality(cli.words) == 0 { 117 | return Err(Error::Alliteration( 118 | "no petnames begin with the chosen alliteration character".to_string(), 119 | )); 120 | } 121 | printer(writer, alliterations.iter(&mut rng, cli.words, &cli.separator), count) 122 | } else { 123 | printer(writer, petnames.iter(&mut rng, cli.words, &cli.separator), count) 124 | } 125 | } 126 | 127 | fn printer(writer: &mut OUT, names: NAMES, count: Option) -> Result<(), Error> 128 | where 129 | OUT: io::Write, 130 | NAMES: Iterator, 131 | { 132 | match count { 133 | None => { 134 | for name in names { 135 | writeln!(writer, "{name}").map_err(suppress_disconnect)?; 136 | } 137 | } 138 | Some(n) => { 139 | for name in names.take(n) { 140 | writeln!(writer, "{name}")?; 141 | } 142 | } 143 | } 144 | 145 | writer.flush().map_err(suppress_disconnect)?; 146 | 147 | Ok(()) 148 | } 149 | 150 | enum Words { 151 | Custom(String, String, String), 152 | Builtin, 153 | } 154 | 155 | impl Words { 156 | // Load word lists from the given directory. This function expects to find three 157 | // files in that directory: `adjectives.txt`, `adverbs.txt`, and `nouns.txt`. 158 | // Each should be valid UTF-8, and contain words separated by whitespace. 159 | fn load>(dirname: T) -> Result { 160 | let dirname = dirname.as_ref(); 161 | Ok(Self::Custom( 162 | read_file_to_string(dirname.join("adjectives.txt"))?, 163 | read_file_to_string(dirname.join("adverbs.txt"))?, 164 | // Load `nouns.txt`, but fall back to trying `names.txt` for 165 | // compatibility with Dustin Kirkland's _petname_. 166 | match read_file_to_string(dirname.join("nouns.txt")) { 167 | Ok(nouns) => nouns, 168 | Err(err) => match read_file_to_string(dirname.join("names.txt")) { 169 | Ok(nouns) => nouns, 170 | Err(_) => Err(err)?, // Error from `nouns.txt`. 171 | }, 172 | }, 173 | )) 174 | } 175 | } 176 | 177 | fn read_file_to_string>(path: P) -> Result { 178 | fs::read_to_string(&path).map_err(|error| Error::FileIo(path.as_ref().to_path_buf(), error)) 179 | } 180 | 181 | fn suppress_disconnect(err: io::Error) -> Error { 182 | match err.kind() { 183 | io::ErrorKind::BrokenPipe => Error::Disconnected, 184 | _ => err.into(), 185 | } 186 | } 187 | 188 | /// Integration tests for the command-line `petname`. 189 | /// 190 | /// These ensure command-line argument compatibility with those supported in 191 | /// Dustin Kirkland's [`petname`](https://github.com/dustinkirkland/petname) as 192 | /// well as testing the functionality of this package's command-line interface. 193 | /// 194 | #[cfg(test)] 195 | mod integration { 196 | use std::fs; 197 | 198 | use clap::Parser; 199 | 200 | fn run_and_capture(cli: super::Cli) -> String { 201 | let mut stdout = Vec::new(); 202 | super::run(cli, &mut stdout).unwrap(); 203 | String::from_utf8(stdout).unwrap() 204 | } 205 | 206 | #[test] 207 | fn option_words() { 208 | let cli = super::Cli::parse_from(["petname", "--words=5"]); 209 | assert_eq!(run_and_capture(cli).split('-').count(), 5); 210 | } 211 | 212 | #[test] 213 | fn option_letters() { 214 | let cli = super::Cli::parse_from(["petname", "--letters=3", "--count=100", "--separator= "]); 215 | assert_eq!(run_and_capture(cli).split_whitespace().map(str::len).max(), Some(3)) 216 | } 217 | 218 | #[test] 219 | fn option_separator() { 220 | let cli = super::Cli::parse_from(["petname", "--separator=<:>"]); 221 | assert_eq!(run_and_capture(cli).split("<:>").count(), 2) 222 | } 223 | 224 | /// A directory can be specified containing `adverbs.txt`, `adjectives.txt`, 225 | /// and `nouns.txt`. 226 | #[test] 227 | fn option_dir_nouns() -> anyhow::Result<()> { 228 | let dir = tempdir::TempDir::new("petname")?; 229 | fs::write(dir.path().join("adverbs.txt"), "adverb")?; 230 | fs::write(dir.path().join("adjectives.txt"), "adjective")?; 231 | fs::write(dir.path().join("nouns.txt"), "noun")?; 232 | 233 | let args: &[std::ffi::OsString] = 234 | &["petname".into(), "--dir".into(), dir.path().into(), "--words=3".into()]; 235 | let cli = super::Cli::parse_from(args); 236 | assert_eq!(run_and_capture(cli), "adverb-adjective-noun\n"); 237 | Ok(()) 238 | } 239 | 240 | /// A directory can be specified containing `adverbs.txt`, `adjectives.txt`, 241 | /// and `nouns.txt`/`names.txt`. If both `nouns.txt` and `names.txt` are 242 | /// present, `nouns.txt` is preferred. 243 | #[test] 244 | fn compat_dir_nouns_before_names() -> anyhow::Result<()> { 245 | let dir = tempdir::TempDir::new("petname")?; 246 | fs::write(dir.path().join("adverbs.txt"), "adverb")?; 247 | fs::write(dir.path().join("adjectives.txt"), "adjective")?; 248 | fs::write(dir.path().join("nouns.txt"), "noun")?; 249 | fs::write(dir.path().join("names.txt"), "name")?; 250 | 251 | let args: &[std::ffi::OsString] = 252 | &["petname".into(), "--dir".into(), dir.path().into(), "--words=3".into()]; 253 | let cli = super::Cli::parse_from(args); 254 | assert_eq!(run_and_capture(cli), "adverb-adjective-noun\n"); 255 | Ok(()) 256 | } 257 | 258 | /// A directory can be specified containing `adverbs.txt`, `adjectives.txt`, 259 | /// and `names.txt`. The latter (`names.txt`) is only for compatibility with 260 | /// Dustin Kirkland's _petname_. 261 | #[test] 262 | fn compat_dir_names() -> anyhow::Result<()> { 263 | let dir = tempdir::TempDir::new("petname")?; 264 | fs::write(dir.path().join("adverbs.txt"), "adverb")?; 265 | fs::write(dir.path().join("adjectives.txt"), "adjective")?; 266 | fs::write(dir.path().join("names.txt"), "name")?; 267 | 268 | let args: &[std::ffi::OsString] = 269 | &["petname".into(), "--dir".into(), dir.path().into(), "--words=3".into()]; 270 | let cli = super::Cli::parse_from(args); 271 | assert_eq!(run_and_capture(cli), "adverb-adjective-name\n"); 272 | Ok(()) 273 | } 274 | 275 | #[test] 276 | fn option_lists() { 277 | let cli = super::Cli::parse_from(["petname", "--lists=large"]); 278 | assert!(!run_and_capture(cli).is_empty()); 279 | } 280 | 281 | #[test] 282 | fn compat_complexity() { 283 | let cli = super::Cli::parse_from(["petname", "--complexity=2"]); 284 | assert!(!run_and_capture(cli).is_empty()); 285 | } 286 | 287 | #[test] 288 | fn option_alliterate() { 289 | let cli = super::Cli::parse_from(["petname", "--alliterate", "--words=3"]); 290 | let first_letters: std::collections::HashSet = 291 | run_and_capture(cli).split('-').map(|word| word.chars().next().unwrap()).collect(); 292 | assert_eq!(first_letters.len(), 1); 293 | } 294 | 295 | #[test] 296 | fn option_alliterate_with() { 297 | let cli = super::Cli::parse_from(["petname", "--alliterate-with=a", "--words=3"]); 298 | let first_letters: std::collections::HashSet = 299 | run_and_capture(cli).split('-').map(|word| word.chars().next().unwrap()).collect(); 300 | assert_eq!(first_letters, ['a'].into()); 301 | } 302 | 303 | #[test] 304 | fn compat_ubuntu() { 305 | let cli = super::Cli::parse_from(["petname", "--ubuntu", "--words=3"]); 306 | let first_letters: std::collections::HashSet = 307 | run_and_capture(cli).split('-').map(|word| word.chars().next().unwrap()).collect(); 308 | assert_eq!(first_letters.len(), 1); 309 | } 310 | 311 | #[test] 312 | fn option_seed() { 313 | let cli = super::Cli::parse_from(["petname", "--seed=12345", "--words=3"]); 314 | assert_eq!(run_and_capture(cli), "meaningfully-enthralled-vendace\n"); 315 | } 316 | } 317 | -------------------------------------------------------------------------------- /tests/alliterations.rs: -------------------------------------------------------------------------------- 1 | use std::collections::HashSet; 2 | 3 | use rand::rngs::mock::StepRng; 4 | 5 | use petname::{Alliterations, Generator, Petnames}; 6 | 7 | #[test] 8 | fn alliterations_from_petnames() { 9 | let petnames = Petnames::new("able bold", "burly curly", "ant bee cow"); 10 | let alliterations: Alliterations = petnames.into(); 11 | let alliterations_expected: Alliterations = [ 12 | ('a', Petnames::new("able", "", "ant")), 13 | ('b', Petnames::new("bold", "burly", "bee")), 14 | ('c', Petnames::new("", "curly", "cow")), 15 | ] 16 | .into(); 17 | assert_eq!(alliterations_expected, alliterations); 18 | } 19 | 20 | #[test] 21 | fn alliterations_retain_applies_given_predicate() { 22 | let petnames = Petnames::new("able bold", "burly curly", "ant bee cow"); 23 | let mut alliterations: Alliterations = petnames.into(); 24 | alliterations.retain(|first_letter, _petnames| *first_letter != 'b'); 25 | let alliterations_expected: Alliterations = 26 | [('a', Petnames::new("able", "", "ant")), ('c', Petnames::new("", "curly", "cow"))].into(); 27 | assert_eq!(alliterations_expected, alliterations); 28 | } 29 | 30 | #[test] 31 | #[cfg(feature = "default-words")] 32 | fn alliterations_default_has_non_zero_cardinality() { 33 | let alliterations = Alliterations::default(); 34 | // This test will need to be adjusted when word lists change. 35 | assert_eq!(0, alliterations.cardinality(0)); 36 | assert_eq!(1056, alliterations.cardinality(1)); 37 | assert_eq!(69734, alliterations.cardinality(2)); 38 | assert_eq!(8145549, alliterations.cardinality(3)); 39 | assert_eq!(1137581773, alliterations.cardinality(4)); 40 | } 41 | 42 | #[test] 43 | fn alliterations_generate_uses_adverb_adjective_name() { 44 | let petnames = Petnames::new("able bold", "burly curly", "ant bee cow"); 45 | let alliterations: Alliterations = petnames.into(); 46 | assert_eq!( 47 | alliterations.generate(&mut StepRng::new(6234567891, 1), 3, "-"), 48 | Some("burly-bold-bee".into()) 49 | ); 50 | } 51 | 52 | #[test] 53 | fn alliterations_iter_yields_names() { 54 | let mut rng = StepRng::new(1234567890, 1234567890); 55 | let petnames = Petnames::new("able bold", "burly curly", "ant bee cow"); 56 | let alliterations: Alliterations = petnames.into(); 57 | let names = alliterations.iter(&mut rng, 3, " "); 58 | let expected: HashSet = ["able ant", "burly bold bee", "curly cow"].map(String::from).into(); 59 | let observed: HashSet = names.take(10).collect::>(); 60 | assert_eq!(expected, observed); 61 | } 62 | 63 | #[test] 64 | fn alliterations_iter_yields_nothing_when_empty() { 65 | let mut rng = StepRng::new(0, 1); 66 | let alliteration: Alliterations = [].into(); 67 | assert_eq!(0, alliteration.cardinality(3)); 68 | let mut names: Box> = alliteration.iter(&mut rng, 3, "."); 69 | assert_eq!(None, names.next()); 70 | } 71 | -------------------------------------------------------------------------------- /tests/petname.rs: -------------------------------------------------------------------------------- 1 | #[cfg(all(feature = "default-rng", feature = "default-words"))] 2 | use petname::petname; 3 | 4 | #[test] 5 | #[cfg(all(feature = "default-rng", feature = "default-words"))] 6 | fn petname_renders_desired_number_of_words() { 7 | assert_eq!(petname(7, "-").unwrap().split('-').count(), 7); 8 | } 9 | 10 | #[test] 11 | #[cfg(all(feature = "default-rng", feature = "default-words"))] 12 | fn petname_renders_with_desired_separator() { 13 | assert_eq!(petname(7, "@").unwrap().split('@').count(), 7); 14 | } 15 | -------------------------------------------------------------------------------- /tests/petnames.rs: -------------------------------------------------------------------------------- 1 | use petname::{Generator, Petnames}; 2 | use rand::rngs::mock::StepRng; 3 | 4 | #[test] 5 | #[cfg(feature = "default-words")] 6 | fn petnames_default_has_adjectives() { 7 | let petnames = Petnames::default(); 8 | assert_ne!(petnames.adjectives.len(), 0); 9 | } 10 | 11 | #[test] 12 | #[cfg(feature = "default-words")] 13 | fn petnames_default_has_adverbs() { 14 | let petnames = Petnames::default(); 15 | assert_ne!(petnames.adverbs.len(), 0); 16 | } 17 | 18 | #[test] 19 | #[cfg(feature = "default-words")] 20 | fn petnames_default_has_names() { 21 | let petnames = Petnames::default(); 22 | assert_ne!(petnames.nouns.len(), 0); 23 | } 24 | 25 | #[test] 26 | fn petnames_retain_applies_given_predicate() { 27 | let petnames_expected = Petnames::new("bob", "bob", "bob jane"); 28 | let mut petnames = Petnames::new("alice bob carol", "alice bob", "bob carol jane"); 29 | petnames.retain(|word| word.len() < 5); 30 | assert_eq!(petnames_expected, petnames); 31 | } 32 | 33 | #[test] 34 | #[cfg(feature = "default-words")] 35 | fn petnames_default_has_non_zero_cardinality() { 36 | let petnames = Petnames::default(); 37 | // This test will need to be adjusted when word lists change. 38 | assert_eq!(0, petnames.cardinality(0)); 39 | assert_eq!(1056, petnames.cardinality(1)); 40 | assert_eq!(1265088, petnames.cardinality(2)); 41 | assert_eq!(2062093440, petnames.cardinality(3)); 42 | assert_eq!(3361212307200, petnames.cardinality(4)); 43 | } 44 | 45 | #[test] 46 | fn petnames_generate_uses_adverb_adjective_name() { 47 | let petnames = Petnames { 48 | adjectives: vec!["adjective"].into(), 49 | adverbs: vec!["adverb"].into(), 50 | nouns: vec!["noun"].into(), 51 | }; 52 | assert_eq!(petnames.generate(&mut StepRng::new(0, 1), 3, "-"), Some("adverb-adjective-noun".into())); 53 | } 54 | 55 | #[test] 56 | fn petnames_iter_yields_names() { 57 | let mut rng = StepRng::new(0, 1); 58 | let petnames = Petnames::new("foo", "bar", "baz"); 59 | let mut names: Box> = petnames.iter(&mut rng, 3, "."); 60 | assert_eq!(Some("bar.foo.baz".to_string()), names.next()); 61 | } 62 | 63 | #[test] 64 | fn petnames_iter_yields_nothing_when_empty() { 65 | let mut rng = StepRng::new(0, 1); 66 | let petnames = Petnames::new("", "", ""); 67 | assert_eq!(0, petnames.cardinality(3)); 68 | let mut names: Box> = petnames.iter(&mut rng, 3, "."); 69 | assert_eq!(None, names.next()); 70 | } 71 | 72 | #[test] 73 | fn petnames_raw_works() { 74 | let mut rng = StepRng::new(0, 1); 75 | let words = vec![":?-_", "_?:-", "-:_?"]; 76 | let petnames = Petnames::new(words[0], words[1], words[2]); 77 | let result = petnames.generate_raw(&mut rng, 3).unwrap(); 78 | assert_eq!(3, result.len()); 79 | assert_eq!(vec![words[1], words[0], words[2]], result); 80 | } 81 | -------------------------------------------------------------------------------- /words/large/nouns.txt: -------------------------------------------------------------------------------- 1 | aaden 2 | aaliyah 3 | aarav 4 | aaron 5 | abbey 6 | abbie 7 | abbigail 8 | abby 9 | abdiel 10 | abdul 11 | abdullah 12 | abe 13 | abel 14 | abigail 15 | abraham 16 | abram 17 | abrielle 18 | abril 19 | ace 20 | ada 21 | adah 22 | adalberto 23 | adaline 24 | adalyn 25 | adalynn 26 | adam 27 | adan 28 | addie 29 | addilyn 30 | addison 31 | addisyn 32 | addyson 33 | adela 34 | adelaida 35 | adelaide 36 | adele 37 | adelia 38 | adelina 39 | adeline 40 | adell 41 | adella 42 | adelle 43 | adelyn 44 | adelynn 45 | aden 46 | adena 47 | adina 48 | aditya 49 | adolfo 50 | adolph 51 | adonis 52 | adria 53 | adrian 54 | adriana 55 | adriane 56 | adrianna 57 | adrianne 58 | adriel 59 | adrien 60 | adriene 61 | adrienne 62 | afton 63 | agatha 64 | agnes 65 | agnus 66 | agripina 67 | agueda 68 | agustin 69 | agustina 70 | ahmad 71 | ahmed 72 | ai 73 | aida 74 | aidan 75 | aide 76 | aiden 77 | aidyn 78 | aiko 79 | aileen 80 | ailene 81 | aimee 82 | ainsley 83 | aisha 84 | aiyana 85 | aja 86 | akiko 87 | akilah 88 | al 89 | alaina 90 | alaine 91 | alan 92 | alana 93 | alane 94 | alani 95 | alanna 96 | alannah 97 | alaya 98 | alayah 99 | alayna 100 | alaysia 101 | alba 102 | albert 103 | alberta 104 | albertha 105 | albertina 106 | albertine 107 | alberto 108 | albina 109 | alda 110 | alden 111 | aldo 112 | aleah 113 | alease 114 | alec 115 | alecia 116 | aleen 117 | aleena 118 | aleida 119 | aleigha 120 | aleisha 121 | alejandra 122 | alejandrina 123 | alejandro 124 | alena 125 | alene 126 | alesha 127 | aleshia 128 | alesia 129 | alessandra 130 | alessandro 131 | aleta 132 | aletha 133 | alethea 134 | alethia 135 | alex 136 | alexa 137 | alexander 138 | alexandra 139 | alexandria 140 | alexia 141 | alexis 142 | alexzander 143 | alfonso 144 | alfonzo 145 | alfred 146 | alfreda 147 | alfredia 148 | alfredo 149 | ali 150 | alia 151 | aliana 152 | alica 153 | alice 154 | alicia 155 | alida 156 | alijah 157 | alina 158 | aline 159 | alisa 160 | alise 161 | alisha 162 | alishia 163 | alisia 164 | alison 165 | alissa 166 | alisson 167 | alita 168 | alivia 169 | alix 170 | aliya 171 | aliyah 172 | aliza 173 | alla 174 | allan 175 | alleen 176 | allegra 177 | allen 178 | allena 179 | allene 180 | allie 181 | alline 182 | allison 183 | ally 184 | allyn 185 | allyson 186 | alma 187 | almeda 188 | almeta 189 | alona 190 | alondra 191 | alonso 192 | alonzo 193 | alpha 194 | alphonse 195 | alphonso 196 | alta 197 | altagracia 198 | altha 199 | althea 200 | alton 201 | alva 202 | alvaro 203 | alvera 204 | alverta 205 | alvin 206 | alvina 207 | alyce 208 | alycia 209 | alysa 210 | alyse 211 | alysha 212 | alysia 213 | alyson 214 | alyssa 215 | alyvia 216 | amada 217 | amado 218 | amal 219 | amalia 220 | amanda 221 | amani 222 | amara 223 | amare 224 | amari 225 | amaya 226 | amber 227 | amberly 228 | ambroise 229 | ambrose 230 | amee 231 | ameer 232 | amelia 233 | amelie 234 | america 235 | ami 236 | amia 237 | amie 238 | amiee 239 | amina 240 | amir 241 | amira 242 | amirah 243 | amiya 244 | amiyah 245 | ammie 246 | amos 247 | amparo 248 | amy 249 | amya 250 | an 251 | ana 252 | anabel 253 | anabella 254 | anabelle 255 | anahi 256 | anamaria 257 | anastacia 258 | anastasia 259 | anaya 260 | andera 261 | anders 262 | anderson 263 | andra 264 | andre 265 | andrea 266 | andreas 267 | andree 268 | andres 269 | andrew 270 | andria 271 | andy 272 | anette 273 | angel 274 | angela 275 | angele 276 | angelena 277 | angeles 278 | angelia 279 | angelic 280 | angelica 281 | angelika 282 | angelina 283 | angeline 284 | angelique 285 | angelita 286 | angella 287 | angelo 288 | angelyn 289 | angie 290 | angila 291 | angla 292 | angle 293 | anglea 294 | anh 295 | anibal 296 | anika 297 | anisa 298 | anisha 299 | anissa 300 | anita 301 | anitra 302 | aniya 303 | aniyah 304 | anja 305 | anjanette 306 | anjelica 307 | ann 308 | anna 309 | annabel 310 | annabell 311 | annabella 312 | annabelle 313 | annalee 314 | annalisa 315 | annalise 316 | annamae 317 | annamaria 318 | annamarie 319 | anne 320 | anneliese 321 | annelle 322 | annemarie 323 | annett 324 | annetta 325 | annette 326 | annice 327 | annie 328 | annika 329 | annis 330 | annita 331 | annmarie 332 | ansley 333 | anson 334 | anthony 335 | antione 336 | antionette 337 | antoine 338 | antoinette 339 | anton 340 | antone 341 | antonetta 342 | antonette 343 | antonia 344 | antonietta 345 | antonina 346 | antonio 347 | antony 348 | antwan 349 | anya 350 | apollo 351 | apolonia 352 | april 353 | apryl 354 | ara 355 | arabella 356 | araceli 357 | aracelis 358 | aracely 359 | arcelia 360 | archer 361 | archie 362 | archimedes 363 | ardath 364 | ardelia 365 | ardell 366 | ardella 367 | ardelle 368 | arden 369 | ardis 370 | ardith 371 | arely 372 | ares 373 | aretha 374 | argelia 375 | argentina 376 | ari 377 | aria 378 | ariah 379 | arian 380 | ariana 381 | ariane 382 | arianna 383 | arianne 384 | arica 385 | arie 386 | ariel 387 | ariella 388 | arielle 389 | ariya 390 | ariyah 391 | arjun 392 | arla 393 | arlean 394 | arleen 395 | arlen 396 | arlena 397 | arlene 398 | arletha 399 | arletta 400 | arlette 401 | arlie 402 | arlinda 403 | arline 404 | arlo 405 | arlyne 406 | armand 407 | armanda 408 | armandina 409 | armando 410 | armani 411 | armida 412 | arminda 413 | arnav 414 | arnetta 415 | arnette 416 | arnita 417 | arnold 418 | arnoldo 419 | arnulfo 420 | aron 421 | arron 422 | art 423 | arthur 424 | artie 425 | arturo 426 | arvilla 427 | arya 428 | aryan 429 | aryana 430 | aryanna 431 | asa 432 | asha 433 | ashanti 434 | ashely 435 | asher 436 | ashlea 437 | ashlee 438 | ashleigh 439 | ashley 440 | ashli 441 | ashlie 442 | ashly 443 | ashlyn 444 | ashlynn 445 | ashton 446 | asia 447 | asley 448 | aspen 449 | astrid 450 | asuncion 451 | athena 452 | atlas 453 | atticus 454 | aubree 455 | aubrey 456 | aubri 457 | aubrianna 458 | aubrie 459 | aubrielle 460 | audie 461 | audra 462 | audrea 463 | audrey 464 | audria 465 | audriana 466 | audrianna 467 | audrie 468 | audrina 469 | audry 470 | august 471 | augusta 472 | augustina 473 | augustine 474 | augustus 475 | aundrea 476 | aura 477 | aurea 478 | aurelia 479 | aurelio 480 | aurora 481 | aurore 482 | austin 483 | autumn 484 | ava 485 | avah 486 | avalyn 487 | avelina 488 | averi 489 | averie 490 | avery 491 | aviana 492 | avianna 493 | avis 494 | avril 495 | awilda 496 | axel 497 | axton 498 | ayaan 499 | ayako 500 | ayana 501 | ayanna 502 | aydan 503 | ayden 504 | aydin 505 | ayesha 506 | ayla 507 | ayleen 508 | aylin 509 | azalea 510 | azalee 511 | azaria 512 | azariah 513 | azucena 514 | azzie 515 | babara 516 | babette 517 | bailee 518 | bailey 519 | bambi 520 | bao 521 | barabara 522 | barb 523 | barbar 524 | barbara 525 | barbera 526 | barbie 527 | barbra 528 | bari 529 | barney 530 | barrett 531 | barrie 532 | barry 533 | bart 534 | barton 535 | basil 536 | basilia 537 | baylee 538 | bayleigh 539 | bea 540 | beata 541 | beatrice 542 | beatris 543 | beatriz 544 | beau 545 | beaulah 546 | bebe 547 | beckett 548 | beckham 549 | becki 550 | beckie 551 | becky 552 | bee 553 | belen 554 | belia 555 | belinda 556 | belkis 557 | bell 558 | bella 559 | belle 560 | belva 561 | ben 562 | benedict 563 | benita 564 | benito 565 | benjamin 566 | bennett 567 | bennie 568 | benny 569 | benson 570 | bentlee 571 | bentley 572 | bently 573 | benton 574 | berenice 575 | berna 576 | bernadette 577 | bernadine 578 | bernard 579 | bernarda 580 | bernardina 581 | bernardine 582 | bernardo 583 | berneice 584 | bernetta 585 | bernice 586 | bernie 587 | berniece 588 | bernita 589 | berry 590 | bert 591 | berta 592 | bertha 593 | bertie 594 | bertram 595 | beryl 596 | bess 597 | bessie 598 | beth 599 | bethanie 600 | bethann 601 | bethany 602 | bethel 603 | betsey 604 | betsy 605 | bette 606 | bettie 607 | bettina 608 | betty 609 | bettyann 610 | bettye 611 | beula 612 | beulah 613 | bev 614 | beverlee 615 | beverley 616 | beverly 617 | bianca 618 | bibi 619 | bill 620 | billi 621 | billie 622 | billy 623 | billye 624 | birdie 625 | birgit 626 | blaine 627 | blair 628 | blaise 629 | blake 630 | blakely 631 | blanca 632 | blanch 633 | blanche 634 | blaze 635 | blondell 636 | blossom 637 | blythe 638 | bo 639 | bob 640 | bobbi 641 | bobbie 642 | bobby 643 | bobbye 644 | bobette 645 | bodhi 646 | bok 647 | bonita 648 | bonnie 649 | bonny 650 | booker 651 | boris 652 | boston 653 | bowen 654 | boyce 655 | boyd 656 | brad 657 | braden 658 | bradford 659 | bradley 660 | bradly 661 | brady 662 | braeden 663 | braelyn 664 | braelynn 665 | braiden 666 | brain 667 | branda 668 | brande 669 | brandee 670 | branden 671 | brandi 672 | brandie 673 | brandon 674 | brandy 675 | branson 676 | brant 677 | brantlee 678 | brantley 679 | braxton 680 | brayan 681 | brayden 682 | braydon 683 | braylee 684 | braylen 685 | braylon 686 | breana 687 | breann 688 | breanna 689 | breanne 690 | brecken 691 | bree 692 | brenda 693 | brendan 694 | brenden 695 | brendon 696 | brenna 697 | brennan 698 | brent 699 | brentley 700 | brenton 701 | bret 702 | brett 703 | bria 704 | brian 705 | briana 706 | brianna 707 | brianne 708 | brice 709 | bridger 710 | bridget 711 | bridgett 712 | bridgette 713 | briella 714 | brielle 715 | brigette 716 | briggs 717 | brigid 718 | brigida 719 | brigitte 720 | briley 721 | brinda 722 | brinley 723 | bristol 724 | britany 725 | britney 726 | britni 727 | britt 728 | britta 729 | brittaney 730 | brittani 731 | brittanie 732 | brittany 733 | britteny 734 | brittney 735 | brittni 736 | brittny 737 | brock 738 | broderick 739 | brodie 740 | brody 741 | bronson 742 | bronwyn 743 | brook 744 | brooke 745 | brooklyn 746 | brooklynn 747 | brooks 748 | bruce 749 | bruna 750 | brunilda 751 | bruno 752 | bryan 753 | bryanna 754 | bryant 755 | bryce 756 | brycen 757 | brylee 758 | bryleigh 759 | bryn 760 | brynlee 761 | brynn 762 | bryon 763 | brysen 764 | bryson 765 | buck 766 | bud 767 | buddy 768 | buena 769 | buffy 770 | buford 771 | bula 772 | bulah 773 | bunny 774 | burl 775 | burma 776 | burt 777 | burton 778 | buster 779 | byron 780 | cade 781 | caden 782 | cadence 783 | caiden 784 | cain 785 | caitlin 786 | caitlyn 787 | calandra 788 | caleb 789 | cali 790 | calista 791 | callan 792 | callen 793 | callie 794 | callum 795 | calvin 796 | camden 797 | camdyn 798 | camelia 799 | camellia 800 | cameron 801 | cami 802 | camie 803 | camila 804 | camilla 805 | camille 806 | camilo 807 | cammie 808 | cammy 809 | campbell 810 | camren 811 | camron 812 | camryn 813 | candace 814 | candance 815 | candelaria 816 | candi 817 | candice 818 | candida 819 | candie 820 | candis 821 | candra 822 | candy 823 | candyce 824 | cannon 825 | caprice 826 | cara 827 | caren 828 | carey 829 | cari 830 | caridad 831 | carie 832 | carin 833 | carina 834 | carisa 835 | carissa 836 | carita 837 | carl 838 | carla 839 | carlee 840 | carleen 841 | carlena 842 | carlene 843 | carletta 844 | carley 845 | carli 846 | carlie 847 | carline 848 | carlita 849 | carlo 850 | carlos 851 | carlota 852 | carlotta 853 | carlton 854 | carly 855 | carlyn 856 | carma 857 | carman 858 | carmel 859 | carmela 860 | carmelia 861 | carmelina 862 | carmelita 863 | carmella 864 | carmelo 865 | carmen 866 | carmina 867 | carmine 868 | carmon 869 | carol 870 | carola 871 | carolann 872 | carole 873 | carolee 874 | carolin 875 | carolina 876 | caroline 877 | caroll 878 | carolyn 879 | carolyne 880 | carolynn 881 | caron 882 | caroyln 883 | carri 884 | carrie 885 | carrol 886 | carroll 887 | carry 888 | carson 889 | carter 890 | cary 891 | caryl 892 | carylon 893 | caryn 894 | casandra 895 | case 896 | casen 897 | casey 898 | cash 899 | casie 900 | casimira 901 | cason 902 | castiel 903 | cataleya 904 | catalina 905 | catarina 906 | caterina 907 | catharine 908 | catherin 909 | catherina 910 | catherine 911 | cathern 912 | catheryn 913 | cathey 914 | cathi 915 | cathie 916 | cathleen 917 | cathrine 918 | cathryn 919 | cathy 920 | catina 921 | catrice 922 | catrina 923 | cayden 924 | cayla 925 | caylee 926 | cayson 927 | cecelia 928 | cecil 929 | cecila 930 | cecile 931 | cecilia 932 | cecille 933 | cecily 934 | cedric 935 | cedrick 936 | celena 937 | celesta 938 | celeste 939 | celestina 940 | celestine 941 | celia 942 | celina 943 | celinda 944 | celine 945 | celsa 946 | ceola 947 | cesar 948 | chace 949 | chad 950 | chadwick 951 | chae 952 | chaim 953 | chan 954 | chana 955 | chance 956 | chanda 957 | chandler 958 | chandra 959 | chanel 960 | chanell 961 | chanelle 962 | chang 963 | channing 964 | chantal 965 | chantay 966 | chante 967 | chantel 968 | chantell 969 | chantelle 970 | chara 971 | charis 972 | charise 973 | charissa 974 | charisse 975 | charita 976 | charity 977 | charla 978 | charlee 979 | charleen 980 | charleigh 981 | charlena 982 | charlene 983 | charles 984 | charlesetta 985 | charlette 986 | charley 987 | charli 988 | charlie 989 | charline 990 | charlize 991 | charlott 992 | charlotte 993 | charlsie 994 | charlyn 995 | charmain 996 | charmaine 997 | charolette 998 | chas 999 | chase 1000 | chasidy 1001 | chasity 1002 | chau 1003 | chauncey 1004 | chaya 1005 | chelsea 1006 | chelsey 1007 | chelsie 1008 | cher 1009 | chere 1010 | cheree 1011 | cherelle 1012 | cheri 1013 | cherie 1014 | cherilyn 1015 | cherise 1016 | cherish 1017 | cherly 1018 | cherlyn 1019 | cherri 1020 | cherrie 1021 | cherry 1022 | cherryl 1023 | chery 1024 | cheryl 1025 | cheryle 1026 | cheryll 1027 | chester 1028 | chet 1029 | cheyenne 1030 | chi 1031 | chia 1032 | chieko 1033 | chin 1034 | china 1035 | ching 1036 | chiquita 1037 | chloe 1038 | chong 1039 | chris 1040 | chrissy 1041 | christa 1042 | christal 1043 | christeen 1044 | christel 1045 | christen 1046 | christena 1047 | christene 1048 | christi 1049 | christia 1050 | christian 1051 | christiana 1052 | christiane 1053 | christie 1054 | christin 1055 | christina 1056 | christine 1057 | christinia 1058 | christoper 1059 | christopher 1060 | christy 1061 | chrystal 1062 | chu 1063 | chuck 1064 | chun 1065 | chung 1066 | ciara 1067 | cicely 1068 | ciera 1069 | cierra 1070 | cinda 1071 | cinderella 1072 | cindi 1073 | cindie 1074 | cindy 1075 | cinthia 1076 | cira 1077 | clair 1078 | claire 1079 | clara 1080 | clare 1081 | clarence 1082 | claretha 1083 | claretta 1084 | claribel 1085 | clarice 1086 | clarinda 1087 | clarine 1088 | claris 1089 | clarisa 1090 | clarissa 1091 | clarita 1092 | clark 1093 | claud 1094 | claude 1095 | claudette 1096 | claudia 1097 | claudie 1098 | claudine 1099 | claudio 1100 | clay 1101 | clayton 1102 | clelia 1103 | clemencia 1104 | clement 1105 | clemente 1106 | clementina 1107 | clementine 1108 | clemmie 1109 | cleo 1110 | cleopatra 1111 | cleora 1112 | cleotilde 1113 | cleta 1114 | cletus 1115 | cleveland 1116 | cliff 1117 | clifford 1118 | clifton 1119 | clint 1120 | clinton 1121 | clora 1122 | clorinda 1123 | clotilde 1124 | clyde 1125 | codi 1126 | cody 1127 | cohen 1128 | colby 1129 | cole 1130 | coleen 1131 | coleman 1132 | colene 1133 | coletta 1134 | colette 1135 | colin 1136 | colleen 1137 | collen 1138 | collene 1139 | collette 1140 | collin 1141 | collins 1142 | colt 1143 | colten 1144 | colton 1145 | columbus 1146 | concepcion 1147 | conception 1148 | concetta 1149 | concha 1150 | conchita 1151 | conner 1152 | connie 1153 | connor 1154 | conor 1155 | conrad 1156 | constance 1157 | consuela 1158 | consuelo 1159 | contessa 1160 | cooper 1161 | cora 1162 | coral 1163 | coralee 1164 | coralie 1165 | coraline 1166 | corazon 1167 | corban 1168 | corbin 1169 | cordelia 1170 | cordell 1171 | cordia 1172 | cordie 1173 | coreen 1174 | corene 1175 | coretta 1176 | corey 1177 | cori 1178 | corie 1179 | corina 1180 | corine 1181 | corinna 1182 | corinne 1183 | corliss 1184 | cornelia 1185 | cornelius 1186 | cornell 1187 | corrie 1188 | corrin 1189 | corrina 1190 | corrine 1191 | corrinne 1192 | cortez 1193 | cortney 1194 | cory 1195 | courtney 1196 | coy 1197 | craig 1198 | creola 1199 | crew 1200 | cris 1201 | criselda 1202 | crissy 1203 | crista 1204 | cristal 1205 | cristen 1206 | cristi 1207 | cristian 1208 | cristiano 1209 | cristie 1210 | cristin 1211 | cristina 1212 | cristine 1213 | cristobal 1214 | cristopher 1215 | cristy 1216 | crosby 1217 | cruz 1218 | crysta 1219 | crystal 1220 | crystle 1221 | cuc 1222 | cullen 1223 | curt 1224 | curtis 1225 | cyndi 1226 | cyndy 1227 | cynthia 1228 | cyril 1229 | cyrstal 1230 | cyrus 1231 | cythia 1232 | dacia 1233 | dagmar 1234 | dagny 1235 | dahlia 1236 | daina 1237 | daine 1238 | daisey 1239 | daisy 1240 | dakota 1241 | dale 1242 | dalene 1243 | daleyza 1244 | dalia 1245 | dalila 1246 | dalilah 1247 | dallas 1248 | dalton 1249 | damaris 1250 | damian 1251 | damien 1252 | damion 1253 | damon 1254 | dan 1255 | dana 1256 | danae 1257 | dane 1258 | danelle 1259 | danette 1260 | dangelo 1261 | dani 1262 | dania 1263 | danial 1264 | danica 1265 | daniel 1266 | daniela 1267 | daniele 1268 | daniell 1269 | daniella 1270 | danielle 1271 | danika 1272 | danille 1273 | danilo 1274 | danita 1275 | dann 1276 | danna 1277 | dannette 1278 | dannie 1279 | dannielle 1280 | danny 1281 | dante 1282 | danuta 1283 | danyel 1284 | danyell 1285 | danyelle 1286 | daphine 1287 | daphne 1288 | dara 1289 | darby 1290 | darcel 1291 | darcey 1292 | darci 1293 | darcie 1294 | darcy 1295 | darell 1296 | daren 1297 | daria 1298 | darian 1299 | darien 1300 | darin 1301 | dario 1302 | darius 1303 | darla 1304 | darleen 1305 | darlena 1306 | darlene 1307 | darline 1308 | darnell 1309 | daron 1310 | darrel 1311 | darrell 1312 | darren 1313 | darrick 1314 | darrin 1315 | darron 1316 | darryl 1317 | darwin 1318 | daryl 1319 | dave 1320 | davian 1321 | david 1322 | davida 1323 | davin 1324 | davina 1325 | davion 1326 | davis 1327 | davon 1328 | dawn 1329 | dawna 1330 | dawne 1331 | dawson 1332 | dax 1333 | daxton 1334 | dayana 1335 | dayle 1336 | dayna 1337 | daysi 1338 | dayton 1339 | deacon 1340 | deadra 1341 | dean 1342 | deana 1343 | deandra 1344 | deandre 1345 | deandrea 1346 | deane 1347 | deangelo 1348 | deann 1349 | deanna 1350 | deanne 1351 | deb 1352 | debbi 1353 | debbie 1354 | debbra 1355 | debby 1356 | debera 1357 | debi 1358 | debora 1359 | deborah 1360 | debra 1361 | debrah 1362 | debroah 1363 | declan 1364 | dede 1365 | dedra 1366 | dee 1367 | deeann 1368 | deeanna 1369 | deedee 1370 | deedra 1371 | deegan 1372 | deena 1373 | deetta 1374 | deidra 1375 | deidre 1376 | deirdre 1377 | deja 1378 | del 1379 | delaine 1380 | delana 1381 | delaney 1382 | delbert 1383 | delcie 1384 | delena 1385 | delfina 1386 | delia 1387 | delicia 1388 | delila 1389 | delilah 1390 | delinda 1391 | delisa 1392 | dell 1393 | della 1394 | delma 1395 | delmar 1396 | delmer 1397 | delmy 1398 | delois 1399 | deloise 1400 | delora 1401 | deloras 1402 | delores 1403 | deloris 1404 | delorse 1405 | delpha 1406 | delphia 1407 | delphine 1408 | delsie 1409 | delta 1410 | demarcus 1411 | demetra 1412 | demetria 1413 | demetrice 1414 | demetrius 1415 | demi 1416 | dena 1417 | denae 1418 | deneen 1419 | denese 1420 | denice 1421 | denis 1422 | denise 1423 | denisha 1424 | denisse 1425 | denita 1426 | denna 1427 | dennis 1428 | dennise 1429 | denny 1430 | denver 1431 | denyse 1432 | denzel 1433 | deon 1434 | deonna 1435 | derek 1436 | derick 1437 | derrick 1438 | deshawn 1439 | desirae 1440 | desire 1441 | desiree 1442 | desmond 1443 | despina 1444 | dessie 1445 | destinee 1446 | destiny 1447 | detra 1448 | devin 1449 | devon 1450 | devona 1451 | devora 1452 | devorah 1453 | devyn 1454 | dewayne 1455 | dewey 1456 | dewitt 1457 | dexter 1458 | dia 1459 | diamond 1460 | dian 1461 | diana 1462 | diane 1463 | diann 1464 | dianna 1465 | dianne 1466 | diedra 1467 | diedre 1468 | diego 1469 | dierdre 1470 | digna 1471 | dilan 1472 | dillon 1473 | dimple 1474 | dina 1475 | dinah 1476 | dino 1477 | dinorah 1478 | dion 1479 | dione 1480 | dionna 1481 | dionne 1482 | dirk 1483 | divina 1484 | dixie 1485 | dodie 1486 | dollie 1487 | dolly 1488 | dolores 1489 | doloris 1490 | domenic 1491 | domenica 1492 | dominga 1493 | domingo 1494 | dominic 1495 | dominica 1496 | dominick 1497 | dominik 1498 | dominique 1499 | dominque 1500 | domitila 1501 | domonique 1502 | don 1503 | dona 1504 | donald 1505 | donella 1506 | donetta 1507 | donette 1508 | dong 1509 | donita 1510 | donn 1511 | donna 1512 | donnell 1513 | donnetta 1514 | donnette 1515 | donnie 1516 | donny 1517 | donovan 1518 | donte 1519 | donya 1520 | dora 1521 | dorathy 1522 | dorcas 1523 | doreatha 1524 | doreen 1525 | dorene 1526 | doretha 1527 | dorethea 1528 | doretta 1529 | dori 1530 | doria 1531 | dorian 1532 | dorie 1533 | dorinda 1534 | dorine 1535 | doris 1536 | dorla 1537 | dorotha 1538 | dorothea 1539 | dorothy 1540 | dorris 1541 | dorsey 1542 | dortha 1543 | dorthea 1544 | dorthey 1545 | dorthy 1546 | dot 1547 | dottie 1548 | dotty 1549 | doug 1550 | douglas 1551 | dovie 1552 | doyle 1553 | drake 1554 | draven 1555 | dreama 1556 | drema 1557 | drew 1558 | drucilla 1559 | drusilla 1560 | duane 1561 | dudley 1562 | duke 1563 | dulce 1564 | dulcie 1565 | duncan 1566 | dung 1567 | dusti 1568 | dustin 1569 | dusty 1570 | dwain 1571 | dwana 1572 | dwayne 1573 | dwight 1574 | dyan 1575 | dylan 1576 | ean 1577 | earl 1578 | earle 1579 | earlean 1580 | earleen 1581 | earlene 1582 | earlie 1583 | earline 1584 | earnest 1585 | earnestine 1586 | eartha 1587 | easter 1588 | easton 1589 | eboni 1590 | ebonie 1591 | ebony 1592 | echo 1593 | ed 1594 | eda 1595 | edda 1596 | eddie 1597 | eddy 1598 | edelmira 1599 | eden 1600 | edgar 1601 | edgardo 1602 | edie 1603 | edison 1604 | edith 1605 | edmond 1606 | edmund 1607 | edmundo 1608 | edna 1609 | edra 1610 | edris 1611 | eduardo 1612 | edward 1613 | edwardo 1614 | edwin 1615 | edwina 1616 | edyth 1617 | edythe 1618 | effie 1619 | efrain 1620 | efren 1621 | ehtel 1622 | eileen 1623 | eilene 1624 | ela 1625 | eladia 1626 | elaina 1627 | elaine 1628 | elana 1629 | elane 1630 | elanor 1631 | elayne 1632 | elba 1633 | elbert 1634 | elda 1635 | elden 1636 | eldon 1637 | eldora 1638 | eldridge 1639 | eleanor 1640 | eleanora 1641 | eleanore 1642 | elease 1643 | elena 1644 | elene 1645 | eleni 1646 | elenor 1647 | elenora 1648 | elenore 1649 | eleonor 1650 | eleonora 1651 | eleonore 1652 | elfreda 1653 | elfrieda 1654 | elfriede 1655 | eli 1656 | elia 1657 | elian 1658 | eliana 1659 | elianna 1660 | elias 1661 | elicia 1662 | elida 1663 | elidia 1664 | elijah 1665 | elin 1666 | elina 1667 | elinor 1668 | elinore 1669 | elisa 1670 | elisabeth 1671 | elise 1672 | eliseo 1673 | elisha 1674 | elissa 1675 | eliz 1676 | eliza 1677 | elizabet 1678 | elizabeth 1679 | elizbeth 1680 | elizebeth 1681 | elke 1682 | ella 1683 | ellamae 1684 | ellan 1685 | elle 1686 | ellen 1687 | ellena 1688 | elli 1689 | elliana 1690 | ellie 1691 | elliot 1692 | elliott 1693 | ellis 1694 | ellison 1695 | ellsworth 1696 | elly 1697 | ellyn 1698 | elma 1699 | elmer 1700 | elmira 1701 | elmo 1702 | elna 1703 | elnora 1704 | elodia 1705 | elois 1706 | eloisa 1707 | eloise 1708 | elouise 1709 | eloy 1710 | elroy 1711 | elsa 1712 | else 1713 | elsie 1714 | elsy 1715 | elton 1716 | elva 1717 | elvera 1718 | elvia 1719 | elvie 1720 | elvin 1721 | elvina 1722 | elvira 1723 | elvis 1724 | elwanda 1725 | elwood 1726 | elyse 1727 | elza 1728 | ema 1729 | emanuel 1730 | ember 1731 | emelda 1732 | emelia 1733 | emelina 1734 | emeline 1735 | emely 1736 | emerald 1737 | emerie 1738 | emerita 1739 | emerson 1740 | emersyn 1741 | emery 1742 | emiko 1743 | emil 1744 | emile 1745 | emilee 1746 | emilia 1747 | emiliano 1748 | emilie 1749 | emilio 1750 | emily 1751 | emma 1752 | emmalee 1753 | emmaline 1754 | emmalyn 1755 | emmalynn 1756 | emmanuel 1757 | emmett 1758 | emmie 1759 | emmitt 1760 | emmy 1761 | emogene 1762 | emory 1763 | ena 1764 | enda 1765 | enedina 1766 | eneida 1767 | enid 1768 | enoch 1769 | enola 1770 | enrico 1771 | enrique 1772 | enriqueta 1773 | enzo 1774 | ephraim 1775 | epifania 1776 | era 1777 | erasmo 1778 | eric 1779 | erica 1780 | erich 1781 | erick 1782 | ericka 1783 | erik 1784 | erika 1785 | erin 1786 | erinn 1787 | erlene 1788 | erlinda 1789 | erline 1790 | erma 1791 | ermelinda 1792 | erminia 1793 | erna 1794 | ernest 1795 | ernestina 1796 | ernestine 1797 | ernesto 1798 | ernie 1799 | errol 1800 | ervin 1801 | erwin 1802 | eryn 1803 | esme 1804 | esmeralda 1805 | esperanza 1806 | essie 1807 | esta 1808 | esteban 1809 | estefana 1810 | estela 1811 | estell 1812 | estella 1813 | estelle 1814 | ester 1815 | esther 1816 | estrella 1817 | etha 1818 | ethan 1819 | ethel 1820 | ethelene 1821 | ethelyn 1822 | ethyl 1823 | etsuko 1824 | etta 1825 | ettie 1826 | euclid 1827 | eufemia 1828 | eugena 1829 | eugene 1830 | eugenia 1831 | eugenie 1832 | eugenio 1833 | eula 1834 | eulah 1835 | eulalia 1836 | eun 1837 | euna 1838 | eunice 1839 | eura 1840 | eusebia 1841 | eusebio 1842 | eustolia 1843 | eva 1844 | evalyn 1845 | evan 1846 | evangelina 1847 | evangeline 1848 | eve 1849 | evelia 1850 | evelin 1851 | evelina 1852 | eveline 1853 | evelyn 1854 | evelyne 1855 | evelynn 1856 | everett 1857 | everette 1858 | everleigh 1859 | everly 1860 | evette 1861 | evia 1862 | evie 1863 | evita 1864 | evon 1865 | evonne 1866 | ewa 1867 | exie 1868 | ezekiel 1869 | ezequiel 1870 | ezra 1871 | fabian 1872 | fabiola 1873 | fae 1874 | fairy 1875 | faith 1876 | fallon 1877 | fannie 1878 | fanny 1879 | farah 1880 | farrah 1881 | fatima 1882 | fatimah 1883 | faustina 1884 | faustino 1885 | fausto 1886 | faviola 1887 | fawn 1888 | fay 1889 | faye 1890 | fe 1891 | federico 1892 | felecia 1893 | felica 1894 | felice 1895 | felicia 1896 | felicidad 1897 | felicita 1898 | felicitas 1899 | felicity 1900 | felipa 1901 | felipe 1902 | felisa 1903 | felisha 1904 | felix 1905 | felton 1906 | ferdinand 1907 | fermin 1908 | fermina 1909 | fern 1910 | fernanda 1911 | fernande 1912 | fernando 1913 | ferne 1914 | fidel 1915 | fidela 1916 | fidelia 1917 | filiberto 1918 | filomena 1919 | finley 1920 | finn 1921 | finnegan 1922 | fiona 1923 | fisher 1924 | flavia 1925 | fleta 1926 | fletcher 1927 | flo 1928 | flor 1929 | flora 1930 | florance 1931 | florence 1932 | florencia 1933 | florencio 1934 | florene 1935 | florentina 1936 | florentino 1937 | floretta 1938 | floria 1939 | florida 1940 | florinda 1941 | florine 1942 | florrie 1943 | flossie 1944 | floy 1945 | floyd 1946 | flynn 1947 | fonda 1948 | forest 1949 | forrest 1950 | foster 1951 | fran 1952 | france 1953 | francene 1954 | frances 1955 | francesca 1956 | francesco 1957 | franchesca 1958 | francie 1959 | francina 1960 | francine 1961 | francis 1962 | francisca 1963 | francisco 1964 | franco 1965 | francoise 1966 | frank 1967 | frankie 1968 | franklin 1969 | franklyn 1970 | fransisca 1971 | fred 1972 | freda 1973 | fredda 1974 | freddie 1975 | freddy 1976 | frederic 1977 | frederica 1978 | frederick 1979 | fredericka 1980 | fredia 1981 | fredric 1982 | fredrick 1983 | fredricka 1984 | freeda 1985 | freeman 1986 | freida 1987 | freya 1988 | frida 1989 | frieda 1990 | fritz 1991 | fumiko 1992 | gabriel 1993 | gabriela 1994 | gabriele 1995 | gabriella 1996 | gabrielle 1997 | gael 1998 | gage 1999 | gail 2000 | gala 2001 | gale 2002 | galen 2003 | galilea 2004 | galileo 2005 | galina 2006 | gannon 2007 | garfield 2008 | garland 2009 | garnet 2010 | garnett 2011 | garret 2012 | garrett 2013 | garrison 2014 | garry 2015 | garth 2016 | gary 2017 | gaston 2018 | gauge 2019 | gavin 2020 | gavyn 2021 | gaye 2022 | gayla 2023 | gayle 2024 | gaylene 2025 | gaylord 2026 | gaynell 2027 | gaynelle 2028 | gearldine 2029 | gema 2030 | gemma 2031 | gena 2032 | genaro 2033 | gene 2034 | genesis 2035 | geneva 2036 | genevie 2037 | genevieve 2038 | genevive 2039 | genia 2040 | genie 2041 | genna 2042 | gennie 2043 | genny 2044 | genoveva 2045 | geoffrey 2046 | georgann 2047 | george 2048 | georgeann 2049 | georgeanna 2050 | georgene 2051 | georgetta 2052 | georgette 2053 | georgia 2054 | georgiana 2055 | georgiann 2056 | georgianna 2057 | georgianne 2058 | georgie 2059 | georgina 2060 | georgine 2061 | gerald 2062 | geraldine 2063 | geraldo 2064 | geralyn 2065 | gerard 2066 | gerardo 2067 | gerda 2068 | geri 2069 | germaine 2070 | german 2071 | gerri 2072 | gerry 2073 | gertha 2074 | gertie 2075 | gertrud 2076 | gertrude 2077 | gertrudis 2078 | gertude 2079 | gerty 2080 | ghislaine 2081 | gia 2082 | giada 2083 | giana 2084 | giancarlo 2085 | gianna 2086 | gianni 2087 | giavanna 2088 | gibson 2089 | gideon 2090 | gidget 2091 | gigi 2092 | gil 2093 | gilbert 2094 | gilberte 2095 | gilberto 2096 | gilda 2097 | gillian 2098 | gilma 2099 | gina 2100 | ginette 2101 | ginger 2102 | ginny 2103 | gino 2104 | giovani 2105 | giovanna 2106 | giovanni 2107 | giovanny 2108 | gisela 2109 | gisele 2110 | giselle 2111 | gita 2112 | giuliana 2113 | giuseppe 2114 | giuseppina 2115 | gladis 2116 | glady 2117 | gladys 2118 | glayds 2119 | glen 2120 | glenda 2121 | glendora 2122 | glenn 2123 | glenna 2124 | glennie 2125 | glennis 2126 | glinda 2127 | gloria 2128 | glory 2129 | glynda 2130 | glynis 2131 | golda 2132 | golden 2133 | goldie 2134 | gonzalo 2135 | gordon 2136 | grace 2137 | gracelyn 2138 | gracelynn 2139 | gracia 2140 | gracie 2141 | graciela 2142 | grady 2143 | graeme 2144 | graham 2145 | graig 2146 | grant 2147 | granville 2148 | grayce 2149 | grayson 2150 | grazyna 2151 | greg 2152 | gregg 2153 | gregoria 2154 | gregorio 2155 | gregory 2156 | greta 2157 | gretchen 2158 | gretta 2159 | grey 2160 | greyson 2161 | gricelda 2162 | griffin 2163 | grisel 2164 | griselda 2165 | grover 2166 | guadalupe 2167 | gudrun 2168 | guillermina 2169 | guillermo 2170 | gunnar 2171 | gunner 2172 | gus 2173 | gussie 2174 | gustavo 2175 | guy 2176 | gwen 2177 | gwenda 2178 | gwendolyn 2179 | gwenn 2180 | gwyn 2181 | gwyneth 2182 | ha 2183 | hadlee 2184 | hadley 2185 | hae 2186 | hai 2187 | hailee 2188 | hailey 2189 | hal 2190 | haleigh 2191 | haley 2192 | halina 2193 | halle 2194 | halley 2195 | hallie 2196 | hamza 2197 | han 2198 | hana 2199 | hang 2200 | hanh 2201 | hank 2202 | hanna 2203 | hannah 2204 | hannelore 2205 | hans 2206 | harlan 2207 | harland 2208 | harlee 2209 | harley 2210 | harlow 2211 | harmony 2212 | harold 2213 | harper 2214 | harriet 2215 | harriett 2216 | harriette 2217 | harris 2218 | harrison 2219 | harry 2220 | harvey 2221 | hattie 2222 | haven 2223 | haydee 2224 | hayden 2225 | hayes 2226 | haylee 2227 | hayley 2228 | haywood 2229 | hazel 2230 | heath 2231 | heather 2232 | heaven 2233 | hector 2234 | hedwig 2235 | hedy 2236 | hee 2237 | heide 2238 | heidi 2239 | heidy 2240 | heike 2241 | helaine 2242 | helen 2243 | helena 2244 | helene 2245 | helga 2246 | hellen 2247 | hendrix 2248 | henley 2249 | henrietta 2250 | henriette 2251 | henry 2252 | herb 2253 | herbert 2254 | heriberto 2255 | herlinda 2256 | herma 2257 | herman 2258 | hermelinda 2259 | hermila 2260 | hermina 2261 | hermine 2262 | herminia 2263 | herschel 2264 | hershel 2265 | herta 2266 | hertha 2267 | hester 2268 | hettie 2269 | hezekiah 2270 | hiedi 2271 | hien 2272 | hilaria 2273 | hilario 2274 | hilary 2275 | hilda 2276 | hilde 2277 | hildegard 2278 | hildegarde 2279 | hildred 2280 | hillary 2281 | hilma 2282 | hilton 2283 | hipolito 2284 | hiram 2285 | hiroko 2286 | hisako 2287 | hoa 2288 | hobert 2289 | holden 2290 | holley 2291 | holli 2292 | hollie 2293 | hollis 2294 | holly 2295 | homer 2296 | honey 2297 | hong 2298 | hope 2299 | horace 2300 | horacio 2301 | hortencia 2302 | hortense 2303 | hortensia 2304 | hosea 2305 | houston 2306 | howard 2307 | hoyt 2308 | hsiu 2309 | hubert 2310 | hudson 2311 | hue 2312 | huey 2313 | hugh 2314 | hugo 2315 | hui 2316 | hulda 2317 | humberto 2318 | hung 2319 | hunter 2320 | huong 2321 | hwa 2322 | hyacinth 2323 | hye 2324 | hyman 2325 | hyo 2326 | hyon 2327 | hypatia 2328 | hyun 2329 | ian 2330 | ibrahim 2331 | ida 2332 | idalia 2333 | idell 2334 | idella 2335 | iesha 2336 | ignacia 2337 | ignacio 2338 | ike 2339 | iker 2340 | ila 2341 | ilana 2342 | ilda 2343 | ileana 2344 | ileen 2345 | ilene 2346 | iliana 2347 | illa 2348 | ilona 2349 | ilse 2350 | iluminada 2351 | ima 2352 | imani 2353 | imelda 2354 | immanuel 2355 | imogene 2356 | in 2357 | ina 2358 | india 2359 | indira 2360 | inell 2361 | ines 2362 | inez 2363 | inga 2364 | inge 2365 | ingeborg 2366 | inger 2367 | ingrid 2368 | inocencia 2369 | iola 2370 | iona 2371 | ione 2372 | ira 2373 | iraida 2374 | ireland 2375 | irena 2376 | irene 2377 | irina 2378 | iris 2379 | irish 2380 | irma 2381 | irmgard 2382 | irvin 2383 | irving 2384 | irwin 2385 | isa 2386 | isaac 2387 | isabel 2388 | isabela 2389 | isabell 2390 | isabella 2391 | isabelle 2392 | isadora 2393 | isaiah 2394 | isaias 2395 | isaura 2396 | isela 2397 | ishaan 2398 | isiah 2399 | isidra 2400 | isidro 2401 | isis 2402 | isla 2403 | ismael 2404 | isobel 2405 | israel 2406 | isreal 2407 | issac 2408 | itzel 2409 | iva 2410 | ivan 2411 | ivana 2412 | ivanna 2413 | ivelisse 2414 | ivette 2415 | ivey 2416 | ivonne 2417 | ivory 2418 | ivy 2419 | izabella 2420 | izaiah 2421 | izayah 2422 | izetta 2423 | izola 2424 | ja 2425 | jacalyn 2426 | jace 2427 | jacelyn 2428 | jacinda 2429 | jacinta 2430 | jacinto 2431 | jack 2432 | jackeline 2433 | jackelyn 2434 | jacki 2435 | jackie 2436 | jacklyn 2437 | jackqueline 2438 | jackson 2439 | jaclyn 2440 | jacob 2441 | jacoby 2442 | jacqualine 2443 | jacque 2444 | jacquelin 2445 | jacqueline 2446 | jacquelyn 2447 | jacquelyne 2448 | jacquelynn 2449 | jacques 2450 | jacquetta 2451 | jacqui 2452 | jacquie 2453 | jacquiline 2454 | jacquline 2455 | jacqulyn 2456 | jada 2457 | jade 2458 | jaden 2459 | jadiel 2460 | jadon 2461 | jadwiga 2462 | jae 2463 | jaelyn 2464 | jaelynn 2465 | jagger 2466 | jaida 2467 | jaiden 2468 | jaime 2469 | jaimee 2470 | jaimie 2471 | jair 2472 | jairo 2473 | jake 2474 | jakob 2475 | jakobe 2476 | jaleesa 2477 | jalen 2478 | jalisa 2479 | jaliyah 2480 | jama 2481 | jamaal 2482 | jamal 2483 | jamar 2484 | jamari 2485 | jamarion 2486 | jame 2487 | jamee 2488 | jamel 2489 | james 2490 | jameson 2491 | jamey 2492 | jami 2493 | jamie 2494 | jamika 2495 | jamila 2496 | jamir 2497 | jamison 2498 | jammie 2499 | jan 2500 | jana 2501 | janae 2502 | janay 2503 | jane 2504 | janean 2505 | janee 2506 | janeen 2507 | janel 2508 | janell 2509 | janella 2510 | janelle 2511 | janene 2512 | janessa 2513 | janet 2514 | janeth 2515 | janett 2516 | janetta 2517 | janette 2518 | janey 2519 | jani 2520 | janice 2521 | janie 2522 | janiece 2523 | janina 2524 | janine 2525 | janis 2526 | janise 2527 | janita 2528 | janiya 2529 | janiyah 2530 | jann 2531 | janna 2532 | jannet 2533 | jannette 2534 | jannie 2535 | january 2536 | janyce 2537 | jaqueline 2538 | jaquelyn 2539 | jared 2540 | jarod 2541 | jarred 2542 | jarrett 2543 | jarrod 2544 | jarvis 2545 | jase 2546 | jasiah 2547 | jasmin 2548 | jasmine 2549 | jason 2550 | jasper 2551 | jaunita 2552 | javier 2553 | javion 2554 | javon 2555 | jax 2556 | jaxen 2557 | jaxon 2558 | jaxson 2559 | jaxton 2560 | jay 2561 | jayce 2562 | jaycee 2563 | jayceon 2564 | jaycob 2565 | jayda 2566 | jayde 2567 | jayden 2568 | jaydon 2569 | jaye 2570 | jayla 2571 | jaylah 2572 | jaylee 2573 | jayleen 2574 | jaylen 2575 | jaylene 2576 | jaylin 2577 | jaylynn 2578 | jayme 2579 | jaymie 2580 | jayna 2581 | jayne 2582 | jayse 2583 | jayson 2584 | jazlyn 2585 | jazlynn 2586 | jazmin 2587 | jazmine 2588 | jean 2589 | jeana 2590 | jeane 2591 | jeanelle 2592 | jeanene 2593 | jeanett 2594 | jeanetta 2595 | jeanette 2596 | jeanice 2597 | jeanie 2598 | jeanine 2599 | jeanmarie 2600 | jeanna 2601 | jeanne 2602 | jeannetta 2603 | jeannette 2604 | jeannie 2605 | jeannine 2606 | jed 2607 | jedidiah 2608 | jeff 2609 | jefferey 2610 | jefferson 2611 | jeffery 2612 | jeffie 2613 | jeffrey 2614 | jeffry 2615 | jemma 2616 | jen 2617 | jena 2618 | jenae 2619 | jene 2620 | jenee 2621 | jenell 2622 | jenelle 2623 | jenette 2624 | jeneva 2625 | jeni 2626 | jenice 2627 | jenifer 2628 | jeniffer 2629 | jenine 2630 | jenise 2631 | jenna 2632 | jennefer 2633 | jennell 2634 | jennette 2635 | jenni 2636 | jennie 2637 | jennifer 2638 | jenniffer 2639 | jennine 2640 | jenny 2641 | jensen 2642 | jerald 2643 | jeraldine 2644 | jeramy 2645 | jere 2646 | jeremiah 2647 | jeremy 2648 | jeri 2649 | jerica 2650 | jericho 2651 | jerilyn 2652 | jerlene 2653 | jermaine 2654 | jerold 2655 | jerome 2656 | jeromy 2657 | jerrell 2658 | jerri 2659 | jerrica 2660 | jerrie 2661 | jerrod 2662 | jerrold 2663 | jerry 2664 | jesenia 2665 | jesica 2666 | jess 2667 | jesse 2668 | jessenia 2669 | jessi 2670 | jessia 2671 | jessica 2672 | jessie 2673 | jessika 2674 | jestine 2675 | jett 2676 | jetta 2677 | jettie 2678 | jewel 2679 | jewell 2680 | ji 2681 | jill 2682 | jillian 2683 | jim 2684 | jimena 2685 | jimmie 2686 | jimmy 2687 | jin 2688 | jina 2689 | jinny 2690 | jo 2691 | joan 2692 | joana 2693 | joane 2694 | joanie 2695 | joann 2696 | joanna 2697 | joanne 2698 | joannie 2699 | joaquin 2700 | joaquina 2701 | jocelyn 2702 | jocelynn 2703 | jodee 2704 | jodi 2705 | jodie 2706 | jody 2707 | joe 2708 | joeann 2709 | joel 2710 | joella 2711 | joelle 2712 | joellen 2713 | joesph 2714 | joetta 2715 | joette 2716 | joey 2717 | johan 2718 | johana 2719 | johanna 2720 | johanne 2721 | john 2722 | johna 2723 | johnathan 2724 | johnathon 2725 | johnetta 2726 | johnette 2727 | johnie 2728 | johnna 2729 | johnnie 2730 | johnny 2731 | johnsie 2732 | johnson 2733 | joi 2734 | joie 2735 | jolanda 2736 | joleen 2737 | jolene 2738 | jolie 2739 | joline 2740 | jolyn 2741 | jolynn 2742 | jon 2743 | jona 2744 | jonah 2745 | jonas 2746 | jonathan 2747 | jonathon 2748 | jone 2749 | jonell 2750 | jonelle 2751 | jong 2752 | joni 2753 | jonie 2754 | jonna 2755 | jonnie 2756 | jordan 2757 | jorden 2758 | jordon 2759 | jordy 2760 | jordyn 2761 | jordynn 2762 | jorge 2763 | jose 2764 | josef 2765 | josefa 2766 | josefina 2767 | josefine 2768 | joselyn 2769 | joseph 2770 | josephina 2771 | josephine 2772 | josette 2773 | josh 2774 | joshua 2775 | josiah 2776 | josie 2777 | joslyn 2778 | jospeh 2779 | josphine 2780 | josue 2781 | journee 2782 | journey 2783 | jovan 2784 | jovani 2785 | jovanni 2786 | jovita 2787 | joy 2788 | joya 2789 | joyce 2790 | joycelyn 2791 | joye 2792 | joziah 2793 | juan 2794 | juana 2795 | juanita 2796 | judah 2797 | jude 2798 | judi 2799 | judie 2800 | judith 2801 | judson 2802 | judy 2803 | juelz 2804 | jule 2805 | julee 2806 | julene 2807 | jules 2808 | juli 2809 | julia 2810 | julian 2811 | juliana 2812 | juliane 2813 | juliann 2814 | julianna 2815 | julianne 2816 | julie 2817 | julieann 2818 | julien 2819 | julienne 2820 | juliet 2821 | julieta 2822 | julietta 2823 | juliette 2824 | julio 2825 | julissa 2826 | julius 2827 | june 2828 | jung 2829 | junie 2830 | junior 2831 | juniper 2832 | junita 2833 | junko 2834 | jurnee 2835 | justa 2836 | justice 2837 | justin 2838 | justina 2839 | justine 2840 | justus 2841 | jutta 2842 | ka 2843 | kacey 2844 | kaci 2845 | kacie 2846 | kacy 2847 | kade 2848 | kaden 2849 | kadence 2850 | kaeden 2851 | kaelyn 2852 | kai 2853 | kaia 2854 | kaiden 2855 | kaidence 2856 | kaila 2857 | kailani 2858 | kailee 2859 | kailey 2860 | kailyn 2861 | kairi 2862 | kaitlin 2863 | kaitlyn 2864 | kaitlynn 2865 | kaiya 2866 | kala 2867 | kale 2868 | kaleb 2869 | kaleigh 2870 | kalel 2871 | kaley 2872 | kali 2873 | kaliyah 2874 | kallie 2875 | kalyn 2876 | kam 2877 | kamala 2878 | kamari 2879 | kamden 2880 | kamdyn 2881 | kameron 2882 | kami 2883 | kamila 2884 | kamilah 2885 | kamron 2886 | kamryn 2887 | kandace 2888 | kandi 2889 | kandice 2890 | kandis 2891 | kandra 2892 | kandy 2893 | kane 2894 | kanesha 2895 | kanisha 2896 | kannon 2897 | kara 2898 | karan 2899 | kareem 2900 | kareen 2901 | karen 2902 | karena 2903 | karey 2904 | kari 2905 | karie 2906 | karima 2907 | karin 2908 | karina 2909 | karine 2910 | karis 2911 | karisa 2912 | karissa 2913 | karl 2914 | karla 2915 | karlee 2916 | karleen 2917 | karlene 2918 | karlie 2919 | karly 2920 | karlyn 2921 | karma 2922 | karmen 2923 | karol 2924 | karole 2925 | karoline 2926 | karolyn 2927 | karon 2928 | karren 2929 | karri 2930 | karrie 2931 | karry 2932 | karson 2933 | karsyn 2934 | karter 2935 | kary 2936 | karyl 2937 | karyn 2938 | kasandra 2939 | kase 2940 | kasen 2941 | kasey 2942 | kash 2943 | kasha 2944 | kasi 2945 | kasie 2946 | kason 2947 | katalina 2948 | kate 2949 | katelin 2950 | katelyn 2951 | katelynn 2952 | katerine 2953 | kathaleen 2954 | katharina 2955 | katharine 2956 | katharyn 2957 | kathe 2958 | katheleen 2959 | katherin 2960 | katherina 2961 | katherine 2962 | kathern 2963 | katheryn 2964 | kathey 2965 | kathi 2966 | kathie 2967 | kathleen 2968 | kathlene 2969 | kathline 2970 | kathlyn 2971 | kathrin 2972 | kathrine 2973 | kathryn 2974 | kathryne 2975 | kathy 2976 | kathyrn 2977 | kati 2978 | katia 2979 | katie 2980 | katina 2981 | katlyn 2982 | katrice 2983 | katrina 2984 | kattie 2985 | katy 2986 | kay 2987 | kaya 2988 | kayce 2989 | kaycee 2990 | kayden 2991 | kaydence 2992 | kaye 2993 | kayla 2994 | kaylee 2995 | kayleen 2996 | kayleigh 2997 | kaylen 2998 | kaylene 2999 | kaylie 3000 | kaylin 3001 | kaylyn 3002 | kaylynn 3003 | kaysen 3004 | kayson 3005 | kazuko 3006 | keagan 3007 | keaton 3008 | kecia 3009 | keegan 3010 | keeley 3011 | keely 3012 | keena 3013 | keenan 3014 | keesha 3015 | keiko 3016 | keila 3017 | keira 3018 | keisha 3019 | keith 3020 | keitha 3021 | keli 3022 | kellan 3023 | kelle 3024 | kellee 3025 | kellen 3026 | kelley 3027 | kelli 3028 | kellie 3029 | kelly 3030 | kellye 3031 | kelsey 3032 | kelsi 3033 | kelsie 3034 | kelvin 3035 | kemberly 3036 | ken 3037 | kena 3038 | kenda 3039 | kendal 3040 | kendall 3041 | kendra 3042 | kendrick 3043 | keneth 3044 | kenia 3045 | kenisha 3046 | kenley 3047 | kenna 3048 | kennedi 3049 | kennedy 3050 | kenneth 3051 | kennith 3052 | kenny 3053 | kensley 3054 | kent 3055 | kenton 3056 | kenya 3057 | kenyatta 3058 | kenyetta 3059 | kenzie 3060 | kera 3061 | keren 3062 | keri 3063 | kermit 3064 | kerri 3065 | kerrie 3066 | kerry 3067 | kerstin 3068 | kesha 3069 | keshia 3070 | keturah 3071 | keva 3072 | keven 3073 | kevin 3074 | keyla 3075 | khadijah 3076 | khalil 3077 | khalilah 3078 | khloe 3079 | kia 3080 | kian 3081 | kiana 3082 | kiara 3083 | kiera 3084 | kieran 3085 | kiersten 3086 | kiesha 3087 | kieth 3088 | kiley 3089 | killian 3090 | kim 3091 | kimber 3092 | kimberely 3093 | kimberlee 3094 | kimberley 3095 | kimberli 3096 | kimberlie 3097 | kimberly 3098 | kimbery 3099 | kimbra 3100 | kimi 3101 | kimiko 3102 | kimora 3103 | kina 3104 | kindra 3105 | king 3106 | kingsley 3107 | kingston 3108 | kinley 3109 | kinsley 3110 | kip 3111 | kira 3112 | kirby 3113 | kirk 3114 | kirsten 3115 | kirstie 3116 | kirstin 3117 | kisha 3118 | kit 3119 | kittie 3120 | kitty 3121 | kiyoko 3122 | kizzie 3123 | kizzy 3124 | klara 3125 | knox 3126 | kobe 3127 | kody 3128 | kohen 3129 | kolby 3130 | kole 3131 | kolten 3132 | kolton 3133 | konner 3134 | konnor 3135 | kora 3136 | korbin 3137 | korey 3138 | kori 3139 | kortney 3140 | kory 3141 | kourtney 3142 | kraig 3143 | kris 3144 | krish 3145 | krishna 3146 | krissy 3147 | krista 3148 | kristal 3149 | kristan 3150 | kristeen 3151 | kristel 3152 | kristen 3153 | kristi 3154 | kristian 3155 | kristie 3156 | kristin 3157 | kristina 3158 | kristine 3159 | kristle 3160 | kristofer 3161 | kristopher 3162 | kristy 3163 | kristyn 3164 | krysta 3165 | krystal 3166 | krysten 3167 | krystin 3168 | krystina 3169 | krystle 3170 | krystyna 3171 | kurt 3172 | kurtis 3173 | kyla 3174 | kylah 3175 | kylan 3176 | kyle 3177 | kylee 3178 | kyleigh 3179 | kyler 3180 | kylie 3181 | kym 3182 | kymani 3183 | kymberly 3184 | kyndall 3185 | kynlee 3186 | kyoko 3187 | kyong 3188 | kyra 3189 | kyree 3190 | kyrie 3191 | kyson 3192 | kyung 3193 | lacey 3194 | lachelle 3195 | lachlan 3196 | laci 3197 | lacie 3198 | lacresha 3199 | lacy 3200 | ladawn 3201 | ladonna 3202 | lady 3203 | lael 3204 | lahoma 3205 | lai 3206 | laila 3207 | lailah 3208 | laine 3209 | lainey 3210 | lajuana 3211 | lakeesha 3212 | lakeisha 3213 | lakendra 3214 | lakenya 3215 | lakesha 3216 | lakeshia 3217 | lakia 3218 | lakiesha 3219 | lakisha 3220 | lakita 3221 | lala 3222 | lamar 3223 | lamonica 3224 | lamont 3225 | lan 3226 | lana 3227 | lance 3228 | landen 3229 | landon 3230 | landry 3231 | landyn 3232 | lane 3233 | lanell 3234 | lanelle 3235 | lanette 3236 | laney 3237 | lang 3238 | langston 3239 | lani 3240 | lanie 3241 | lanita 3242 | lannie 3243 | lanny 3244 | lanora 3245 | laquanda 3246 | laquita 3247 | lara 3248 | larae 3249 | laraine 3250 | laree 3251 | larhonda 3252 | larisa 3253 | larissa 3254 | larita 3255 | laronda 3256 | larraine 3257 | larry 3258 | larue 3259 | lasandra 3260 | lashanda 3261 | lashandra 3262 | lashaun 3263 | lashaunda 3264 | lashawn 3265 | lashawna 3266 | lashawnda 3267 | lashay 3268 | lashell 3269 | lashon 3270 | lashonda 3271 | lashunda 3272 | lasonya 3273 | latanya 3274 | latarsha 3275 | latasha 3276 | latashia 3277 | latesha 3278 | latia 3279 | laticia 3280 | latina 3281 | latisha 3282 | latonia 3283 | latonya 3284 | latoria 3285 | latosha 3286 | latoya 3287 | latoyia 3288 | latrice 3289 | latricia 3290 | latrina 3291 | latrisha 3292 | launa 3293 | laura 3294 | lauralee 3295 | lauran 3296 | laure 3297 | laureen 3298 | laurel 3299 | lauren 3300 | laurena 3301 | laurence 3302 | laurene 3303 | lauretta 3304 | laurette 3305 | lauri 3306 | laurice 3307 | laurie 3308 | laurinda 3309 | laurine 3310 | lauryn 3311 | lavada 3312 | lavelle 3313 | lavenia 3314 | lavera 3315 | lavern 3316 | laverna 3317 | laverne 3318 | laveta 3319 | lavette 3320 | lavina 3321 | lavinia 3322 | lavon 3323 | lavona 3324 | lavonda 3325 | lavone 3326 | lavonia 3327 | lavonna 3328 | lavonne 3329 | lawana 3330 | lawanda 3331 | lawanna 3332 | lawerence 3333 | lawrence 3334 | lawson 3335 | layla 3336 | laylah 3337 | layne 3338 | layton 3339 | lazaro 3340 | le 3341 | lea 3342 | leah 3343 | lean 3344 | leana 3345 | leandra 3346 | leandro 3347 | leann 3348 | leanna 3349 | leanne 3350 | leanora 3351 | leatha 3352 | leatrice 3353 | lecia 3354 | leda 3355 | lee 3356 | leeann 3357 | leeanna 3358 | leeanne 3359 | leena 3360 | leesa 3361 | legend 3362 | leia 3363 | leida 3364 | leif 3365 | leigh 3366 | leigha 3367 | leighann 3368 | leighton 3369 | leila 3370 | leilani 3371 | leisa 3372 | leisha 3373 | lekisha 3374 | lela 3375 | lelah 3376 | leland 3377 | lelia 3378 | lemuel 3379 | len 3380 | lena 3381 | lenard 3382 | lenita 3383 | lenna 3384 | lennie 3385 | lennon 3386 | lennox 3387 | lenny 3388 | lenora 3389 | lenore 3390 | leo 3391 | leola 3392 | leoma 3393 | leon 3394 | leona 3395 | leonard 3396 | leonarda 3397 | leonardo 3398 | leone 3399 | leonel 3400 | leonia 3401 | leonida 3402 | leonidas 3403 | leonie 3404 | leonila 3405 | leonor 3406 | leonora 3407 | leonore 3408 | leontine 3409 | leopoldo 3410 | leora 3411 | leota 3412 | lera 3413 | leroy 3414 | les 3415 | lesa 3416 | lesha 3417 | lesia 3418 | leslee 3419 | lesley 3420 | lesli 3421 | leslie 3422 | lesly 3423 | lessie 3424 | lester 3425 | leta 3426 | letha 3427 | leticia 3428 | letisha 3429 | lettie 3430 | letty 3431 | levi 3432 | lewis 3433 | lexi 3434 | lexie 3435 | leyla 3436 | lezlie 3437 | li 3438 | lia 3439 | liam 3440 | liana 3441 | liane 3442 | lianne 3443 | libbie 3444 | libby 3445 | liberty 3446 | librada 3447 | lida 3448 | lidia 3449 | lien 3450 | lieselotte 3451 | ligia 3452 | lila 3453 | lilah 3454 | lili 3455 | lilia 3456 | lilian 3457 | liliana 3458 | lilianna 3459 | lilith 3460 | lilla 3461 | lilli 3462 | lillia 3463 | lilliam 3464 | lillian 3465 | lilliana 3466 | lillianna 3467 | lillie 3468 | lilly 3469 | lillyana 3470 | lily 3471 | lilyana 3472 | lilyanna 3473 | lin 3474 | lina 3475 | lincoln 3476 | linda 3477 | lindsay 3478 | lindsey 3479 | lindsy 3480 | lindy 3481 | linette 3482 | ling 3483 | linh 3484 | linn 3485 | linnea 3486 | linnie 3487 | lino 3488 | linsey 3489 | linus 3490 | linwood 3491 | lionel 3492 | lisa 3493 | lisabeth 3494 | lisandra 3495 | lisbeth 3496 | lise 3497 | lisette 3498 | lisha 3499 | lissa 3500 | lissette 3501 | lita 3502 | liv 3503 | livia 3504 | liz 3505 | liza 3506 | lizabeth 3507 | lizbeth 3508 | lizeth 3509 | lizette 3510 | lizzette 3511 | lizzie 3512 | lloyd 3513 | loan 3514 | lochlan 3515 | logan 3516 | loida 3517 | lois 3518 | loise 3519 | lola 3520 | loma 3521 | lon 3522 | lona 3523 | londa 3524 | london 3525 | londyn 3526 | long 3527 | loni 3528 | lonna 3529 | lonnie 3530 | lonny 3531 | lora 3532 | loraine 3533 | loralee 3534 | lore 3535 | lorean 3536 | loree 3537 | loreen 3538 | lorelai 3539 | lorelei 3540 | loren 3541 | lorena 3542 | lorene 3543 | lorenza 3544 | lorenzo 3545 | loreta 3546 | loretta 3547 | lorette 3548 | lori 3549 | loria 3550 | loriann 3551 | lorie 3552 | lorilee 3553 | lorina 3554 | lorinda 3555 | lorine 3556 | loris 3557 | lorita 3558 | lorna 3559 | lorraine 3560 | lorretta 3561 | lorri 3562 | lorriane 3563 | lorrie 3564 | lorrine 3565 | lory 3566 | lottie 3567 | lou 3568 | louann 3569 | louanne 3570 | louella 3571 | louetta 3572 | louie 3573 | louis 3574 | louisa 3575 | louise 3576 | loura 3577 | lourdes 3578 | lourie 3579 | louvenia 3580 | love 3581 | lovella 3582 | lovetta 3583 | lovie 3584 | lowell 3585 | loyce 3586 | loyd 3587 | lu 3588 | luana 3589 | luann 3590 | luanna 3591 | luanne 3592 | luba 3593 | luca 3594 | lucas 3595 | lucca 3596 | luci 3597 | lucia 3598 | lucian 3599 | luciana 3600 | luciano 3601 | lucie 3602 | lucien 3603 | lucienne 3604 | lucila 3605 | lucile 3606 | lucilla 3607 | lucille 3608 | lucina 3609 | lucinda 3610 | lucio 3611 | lucius 3612 | lucrecia 3613 | lucretia 3614 | lucy 3615 | ludie 3616 | ludivina 3617 | lue 3618 | luella 3619 | luetta 3620 | luigi 3621 | luis 3622 | luisa 3623 | luise 3624 | luka 3625 | lukas 3626 | luke 3627 | lula 3628 | lulu 3629 | luna 3630 | lupe 3631 | lupita 3632 | lura 3633 | lurlene 3634 | lurline 3635 | luther 3636 | luvenia 3637 | luz 3638 | lyda 3639 | lydia 3640 | lyla 3641 | lylah 3642 | lyle 3643 | lyman 3644 | lyn 3645 | lynda 3646 | lyndia 3647 | lyndon 3648 | lyndsay 3649 | lyndsey 3650 | lynell 3651 | lynelle 3652 | lynetta 3653 | lynette 3654 | lynn 3655 | lynna 3656 | lynne 3657 | lynnette 3658 | lynsey 3659 | lynwood 3660 | lyric 3661 | ma 3662 | mabel 3663 | mabelle 3664 | mable 3665 | mac 3666 | macey 3667 | machelle 3668 | maci 3669 | macie 3670 | mack 3671 | mackenzie 3672 | macy 3673 | madalene 3674 | madaline 3675 | madalyn 3676 | madalynn 3677 | madden 3678 | maddie 3679 | maddison 3680 | maddox 3681 | madelaine 3682 | madeleine 3683 | madelene 3684 | madeline 3685 | madelyn 3686 | madelynn 3687 | madge 3688 | madie 3689 | madilyn 3690 | madilynn 3691 | madison 3692 | madisyn 3693 | madlyn 3694 | madonna 3695 | madyson 3696 | mae 3697 | maegan 3698 | maeve 3699 | mafalda 3700 | magali 3701 | magaly 3702 | magan 3703 | magaret 3704 | magda 3705 | magdalen 3706 | magdalena 3707 | magdalene 3708 | magen 3709 | maggie 3710 | magnolia 3711 | magnus 3712 | mahalia 3713 | mai 3714 | maia 3715 | maida 3716 | maile 3717 | maira 3718 | maire 3719 | maisha 3720 | maisie 3721 | maison 3722 | major 3723 | majorie 3724 | makai 3725 | makayla 3726 | makeda 3727 | makena 3728 | makenna 3729 | makenzie 3730 | makhi 3731 | malachi 3732 | malakai 3733 | malaya 3734 | malaysia 3735 | malcolm 3736 | malcom 3737 | maleah 3738 | malena 3739 | malia 3740 | maliah 3741 | malik 3742 | malika 3743 | malinda 3744 | malisa 3745 | malissa 3746 | maliyah 3747 | malka 3748 | mallie 3749 | mallory 3750 | malorie 3751 | malvina 3752 | mamie 3753 | mammie 3754 | man 3755 | mana 3756 | manda 3757 | mandi 3758 | mandie 3759 | mandy 3760 | manie 3761 | manual 3762 | manuel 3763 | manuela 3764 | many 3765 | mao 3766 | maple 3767 | mara 3768 | maragaret 3769 | maragret 3770 | maranda 3771 | marc 3772 | marcel 3773 | marcela 3774 | marcelene 3775 | marcelina 3776 | marceline 3777 | marcelino 3778 | marcell 3779 | marcella 3780 | marcelle 3781 | marcellus 3782 | marcelo 3783 | marcene 3784 | marchelle 3785 | marci 3786 | marcia 3787 | marcie 3788 | marco 3789 | marcos 3790 | marcus 3791 | marcy 3792 | mardell 3793 | maren 3794 | marg 3795 | margaret 3796 | margareta 3797 | margarete 3798 | margarett 3799 | margaretta 3800 | margarette 3801 | margarita 3802 | margarite 3803 | margarito 3804 | margart 3805 | marge 3806 | margene 3807 | margeret 3808 | margert 3809 | margery 3810 | marget 3811 | margherita 3812 | margie 3813 | margit 3814 | margo 3815 | margorie 3816 | margot 3817 | margret 3818 | margrett 3819 | marguerita 3820 | marguerite 3821 | margurite 3822 | margy 3823 | marhta 3824 | mari 3825 | maria 3826 | mariah 3827 | mariam 3828 | marian 3829 | mariana 3830 | marianela 3831 | mariann 3832 | marianna 3833 | marianne 3834 | mariano 3835 | maribel 3836 | maribeth 3837 | marica 3838 | maricela 3839 | maricruz 3840 | marie 3841 | mariel 3842 | mariela 3843 | mariella 3844 | marielle 3845 | marietta 3846 | mariette 3847 | mariko 3848 | marilee 3849 | marilou 3850 | marilu 3851 | marilyn 3852 | marilynn 3853 | marin 3854 | marina 3855 | marinda 3856 | marine 3857 | mario 3858 | marion 3859 | maris 3860 | marisa 3861 | marisela 3862 | marisha 3863 | marisol 3864 | marissa 3865 | marita 3866 | maritza 3867 | marivel 3868 | mariyah 3869 | marjorie 3870 | marjory 3871 | mark 3872 | marketta 3873 | markita 3874 | markus 3875 | marla 3876 | marlana 3877 | marlee 3878 | marleen 3879 | marleigh 3880 | marlen 3881 | marlena 3882 | marlene 3883 | marley 3884 | marlin 3885 | marline 3886 | marlo 3887 | marlon 3888 | marlyn 3889 | marlys 3890 | marna 3891 | marni 3892 | marnie 3893 | marquerite 3894 | marquetta 3895 | marquis 3896 | marquita 3897 | marquitta 3898 | marry 3899 | marsha 3900 | marshall 3901 | marta 3902 | marth 3903 | martha 3904 | marti 3905 | martin 3906 | martina 3907 | martine 3908 | marty 3909 | marva 3910 | marvel 3911 | marvella 3912 | marvin 3913 | marvis 3914 | marx 3915 | mary 3916 | marya 3917 | maryalice 3918 | maryam 3919 | maryann 3920 | maryanna 3921 | maryanne 3922 | marybelle 3923 | marybeth 3924 | maryellen 3925 | maryetta 3926 | maryjane 3927 | maryjo 3928 | maryland 3929 | marylee 3930 | marylin 3931 | maryln 3932 | marylou 3933 | marylouise 3934 | marylyn 3935 | marylynn 3936 | maryrose 3937 | masako 3938 | mason 3939 | mateo 3940 | matha 3941 | mathew 3942 | mathias 3943 | mathilda 3944 | mathilde 3945 | matias 3946 | matilda 3947 | matilde 3948 | matt 3949 | matteo 3950 | matthew 3951 | matthias 3952 | mattie 3953 | maud 3954 | maude 3955 | maudie 3956 | maura 3957 | maureen 3958 | maurice 3959 | mauricio 3960 | maurine 3961 | maurita 3962 | mauro 3963 | maverick 3964 | mavis 3965 | max 3966 | maxie 3967 | maxim 3968 | maxima 3969 | maximilian 3970 | maximiliano 3971 | maximina 3972 | maximo 3973 | maximus 3974 | maxine 3975 | maxton 3976 | maxwell 3977 | may 3978 | maya 3979 | maybell 3980 | maybelle 3981 | maye 3982 | mayme 3983 | maynard 3984 | mayola 3985 | mayra 3986 | mayson 3987 | mazie 3988 | mckayla 3989 | mckenna 3990 | mckenzie 3991 | mckinley 3992 | meadow 3993 | meagan 3994 | meaghan 3995 | mechelle 3996 | meda 3997 | mee 3998 | meg 3999 | megan 4000 | meggan 4001 | meghan 4002 | meghann 4003 | mei 4004 | mekhi 4005 | mel 4006 | melaine 4007 | melani 4008 | melania 4009 | melanie 4010 | melany 4011 | melba 4012 | melda 4013 | melia 4014 | melida 4015 | melina 4016 | melinda 4017 | melisa 4018 | melissa 4019 | melissia 4020 | melita 4021 | mellie 4022 | mellisa 4023 | mellissa 4024 | melodee 4025 | melodi 4026 | melodie 4027 | melody 4028 | melonie 4029 | melony 4030 | melva 4031 | melvin 4032 | melvina 4033 | melynda 4034 | memphis 4035 | mendy 4036 | mercedes 4037 | mercedez 4038 | mercy 4039 | meredith 4040 | meri 4041 | merideth 4042 | meridith 4043 | merilyn 4044 | merissa 4045 | merle 4046 | merlene 4047 | merlin 4048 | merlyn 4049 | merna 4050 | merri 4051 | merrie 4052 | merrilee 4053 | merrill 4054 | merry 4055 | mertie 4056 | mervin 4057 | meryl 4058 | messiah 4059 | meta 4060 | mi 4061 | mia 4062 | miah 4063 | mica 4064 | micaela 4065 | micah 4066 | micha 4067 | michael 4068 | michaela 4069 | michaele 4070 | michal 4071 | michale 4072 | micheal 4073 | michel 4074 | michele 4075 | michelina 4076 | micheline 4077 | michell 4078 | michelle 4079 | michiko 4080 | mickey 4081 | micki 4082 | mickie 4083 | miesha 4084 | migdalia 4085 | mignon 4086 | miguel 4087 | miguelina 4088 | mika 4089 | mikaela 4090 | mikayla 4091 | mike 4092 | mikel 4093 | miki 4094 | mikki 4095 | mila 4096 | milagro 4097 | milagros 4098 | milan 4099 | milana 4100 | milania 4101 | milda 4102 | mildred 4103 | milena 4104 | miles 4105 | miley 4106 | milissa 4107 | millard 4108 | miller 4109 | millicent 4110 | millie 4111 | milly 4112 | milo 4113 | milton 4114 | mimi 4115 | min 4116 | mina 4117 | minda 4118 | mindi 4119 | mindy 4120 | minerva 4121 | ming 4122 | minh 4123 | minna 4124 | minnie 4125 | minta 4126 | miquel 4127 | mira 4128 | miracle 4129 | miranda 4130 | mireille 4131 | mirella 4132 | mireya 4133 | miriam 4134 | mirian 4135 | mirna 4136 | mirta 4137 | mirtha 4138 | misael 4139 | misha 4140 | miss 4141 | missy 4142 | misti 4143 | mistie 4144 | misty 4145 | mitch 4146 | mitchel 4147 | mitchell 4148 | mitsue 4149 | mitsuko 4150 | mittie 4151 | mitzi 4152 | mitzie 4153 | miya 4154 | miyoko 4155 | modesta 4156 | modesto 4157 | moira 4158 | moises 4159 | mollie 4160 | molly 4161 | mona 4162 | monet 4163 | monica 4164 | monika 4165 | monique 4166 | monnie 4167 | monroe 4168 | monserrate 4169 | monte 4170 | monty 4171 | moon 4172 | mora 4173 | morgan 4174 | moriah 4175 | morris 4176 | morton 4177 | mose 4178 | moses 4179 | moshe 4180 | mozell 4181 | mozella 4182 | mozelle 4183 | mui 4184 | muoi 4185 | muriel 4186 | murray 4187 | mustafa 4188 | my 4189 | mya 4190 | myah 4191 | myesha 4192 | myla 4193 | myles 4194 | myong 4195 | myra 4196 | myriam 4197 | myrl 4198 | myrle 4199 | myrna 4200 | myron 4201 | myrta 4202 | myrtice 4203 | myrtie 4204 | myrtis 4205 | myrtle 4206 | myung 4207 | na 4208 | nada 4209 | nadene 4210 | nadia 4211 | nadine 4212 | nahla 4213 | naida 4214 | nakesha 4215 | nakia 4216 | nakisha 4217 | nakita 4218 | nam 4219 | nan 4220 | nana 4221 | nancee 4222 | nancey 4223 | nanci 4224 | nancie 4225 | nancy 4226 | nanette 4227 | nannette 4228 | nannie 4229 | naoma 4230 | naomi 4231 | napoleon 4232 | narcisa 4233 | nash 4234 | nasir 4235 | natacha 4236 | natalee 4237 | natalia 4238 | natalie 4239 | nataly 4240 | natalya 4241 | natasha 4242 | natashia 4243 | nathalie 4244 | nathaly 4245 | nathan 4246 | nathanael 4247 | nathanial 4248 | nathaniel 4249 | natisha 4250 | natividad 4251 | natosha 4252 | nayeli 4253 | neal 4254 | necole 4255 | ned 4256 | neda 4257 | nedra 4258 | neely 4259 | nehemiah 4260 | neida 4261 | neil 4262 | nelda 4263 | nelia 4264 | nelida 4265 | nell 4266 | nella 4267 | nelle 4268 | nellie 4269 | nelly 4270 | nelson 4271 | nena 4272 | nenita 4273 | neoma 4274 | neomi 4275 | nereida 4276 | neriah 4277 | nerissa 4278 | nery 4279 | nestor 4280 | neta 4281 | nettie 4282 | neva 4283 | nevada 4284 | nevaeh 4285 | neville 4286 | newton 4287 | neymar 4288 | nga 4289 | ngan 4290 | ngoc 4291 | nguyet 4292 | nia 4293 | nichelle 4294 | nichol 4295 | nicholas 4296 | nichole 4297 | nicholle 4298 | nick 4299 | nicki 4300 | nickie 4301 | nickolas 4302 | nickole 4303 | nicky 4304 | nico 4305 | nicol 4306 | nicola 4307 | nicolas 4308 | nicolasa 4309 | nicole 4310 | nicolette 4311 | nicolle 4312 | nida 4313 | nidia 4314 | niels 4315 | niesha 4316 | nieves 4317 | nigel 4318 | niki 4319 | nikia 4320 | nikita 4321 | nikki 4322 | niko 4323 | nikola 4324 | nikolai 4325 | nikolas 4326 | nikole 4327 | nila 4328 | nilda 4329 | nilsa 4330 | nina 4331 | ninfa 4332 | nisha 4333 | nita 4334 | nixon 4335 | noah 4336 | noble 4337 | nobuko 4338 | noe 4339 | noel 4340 | noelia 4341 | noella 4342 | noelle 4343 | noemi 4344 | nohemi 4345 | nola 4346 | nolan 4347 | noma 4348 | nona 4349 | nora 4350 | norah 4351 | norbert 4352 | norberto 4353 | noreen 4354 | norene 4355 | noriko 4356 | norine 4357 | norma 4358 | norman 4359 | normand 4360 | norris 4361 | nova 4362 | novella 4363 | nu 4364 | nubia 4365 | numbers 4366 | nydia 4367 | nyla 4368 | nylah 4369 | oakley 4370 | obdulia 4371 | ocie 4372 | octavia 4373 | octavio 4374 | oda 4375 | odelia 4376 | odell 4377 | odessa 4378 | odette 4379 | odilia 4380 | odin 4381 | odis 4382 | ofelia 4383 | ok 4384 | ola 4385 | olen 4386 | olene 4387 | oleta 4388 | olevia 4389 | olga 4390 | olimpia 4391 | olin 4392 | olinda 4393 | oliva 4394 | olive 4395 | oliver 4396 | olivia 4397 | ollie 4398 | olympia 4399 | oma 4400 | omar 4401 | omari 4402 | omega 4403 | omer 4404 | ona 4405 | oneida 4406 | onie 4407 | onita 4408 | opal 4409 | ophelia 4410 | ora 4411 | oralee 4412 | oralia 4413 | oren 4414 | oretha 4415 | orion 4416 | orlando 4417 | orpha 4418 | orval 4419 | orville 4420 | oscar 4421 | ossie 4422 | osvaldo 4423 | oswaldo 4424 | otelia 4425 | otha 4426 | otilia 4427 | otis 4428 | otto 4429 | ouida 4430 | owen 4431 | ozell 4432 | ozella 4433 | ozie 4434 | pa 4435 | pablo 4436 | page 4437 | paige 4438 | paislee 4439 | paisley 4440 | paityn 4441 | palma 4442 | palmer 4443 | palmira 4444 | paloma 4445 | pam 4446 | pamala 4447 | pamela 4448 | pamelia 4449 | pamella 4450 | pamila 4451 | pamula 4452 | pandora 4453 | pansy 4454 | paola 4455 | paris 4456 | parker 4457 | parthenia 4458 | particia 4459 | pasquale 4460 | pasty 4461 | pat 4462 | patience 4463 | patria 4464 | patrica 4465 | patrice 4466 | patricia 4467 | patrick 4468 | patrina 4469 | patsy 4470 | patti 4471 | pattie 4472 | patty 4473 | paul 4474 | paula 4475 | paulene 4476 | pauletta 4477 | paulette 4478 | paulina 4479 | pauline 4480 | paulita 4481 | paxton 4482 | payton 4483 | paz 4484 | pearl 4485 | pearle 4486 | pearlene 4487 | pearlie 4488 | pearline 4489 | pearly 4490 | pedro 4491 | peg 4492 | peggie 4493 | peggy 4494 | pei 4495 | penelope 4496 | penney 4497 | penni 4498 | pennie 4499 | penny 4500 | percy 4501 | perla 4502 | perry 4503 | pete 4504 | peter 4505 | petra 4506 | petrina 4507 | petronila 4508 | peyton 4509 | phebe 4510 | phil 4511 | philip 4512 | phillip 4513 | phillis 4514 | philomena 4515 | phoebe 4516 | phoenix 4517 | phung 4518 | phuong 4519 | phylicia 4520 | phylis 4521 | phyliss 4522 | phyllis 4523 | pia 4524 | piedad 4525 | pierce 4526 | pierre 4527 | pilar 4528 | ping 4529 | pinkie 4530 | piper 4531 | pok 4532 | polly 4533 | porfirio 4534 | porsche 4535 | porsha 4536 | porter 4537 | portia 4538 | precious 4539 | presley 4540 | preston 4541 | pricilla 4542 | prince 4543 | princess 4544 | princeton 4545 | priscila 4546 | priscilla 4547 | providencia 4548 | prudence 4549 | pura 4550 | qiana 4551 | queen 4552 | queenie 4553 | quentin 4554 | quiana 4555 | quincy 4556 | quinn 4557 | quintin 4558 | quinton 4559 | quyen 4560 | rachael 4561 | rachal 4562 | racheal 4563 | rachel 4564 | rachele 4565 | rachell 4566 | rachelle 4567 | racquel 4568 | radia 4569 | rae 4570 | raeann 4571 | raegan 4572 | raelene 4573 | raelyn 4574 | raelynn 4575 | rafael 4576 | rafaela 4577 | raguel 4578 | raiden 4579 | raina 4580 | raisa 4581 | raleigh 4582 | ralph 4583 | ramiro 4584 | ramon 4585 | ramona 4586 | ramonita 4587 | rana 4588 | ranae 4589 | randa 4590 | randal 4591 | randall 4592 | randee 4593 | randell 4594 | randi 4595 | randolph 4596 | randy 4597 | ranee 4598 | rank 4599 | raphael 4600 | raquel 4601 | rashad 4602 | rasheeda 4603 | rashida 4604 | raul 4605 | raven 4606 | ray 4607 | rayan 4608 | rayden 4609 | raye 4610 | rayford 4611 | raylan 4612 | raylene 4613 | raymon 4614 | raymond 4615 | raymonde 4616 | raymundo 4617 | rayna 4618 | rayne 4619 | rea 4620 | reagan 4621 | reanna 4622 | reatha 4623 | reba 4624 | rebbeca 4625 | rebbecca 4626 | rebeca 4627 | rebecca 4628 | rebecka 4629 | rebekah 4630 | reda 4631 | reece 4632 | reed 4633 | reena 4634 | reese 4635 | refugia 4636 | refugio 4637 | regan 4638 | regena 4639 | regenia 4640 | reggie 4641 | regina 4642 | reginald 4643 | regine 4644 | reginia 4645 | reid 4646 | reiko 4647 | reina 4648 | reinaldo 4649 | reita 4650 | rema 4651 | remedios 4652 | remi 4653 | remington 4654 | remona 4655 | remy 4656 | rena 4657 | renae 4658 | renaldo 4659 | renata 4660 | renate 4661 | renato 4662 | renay 4663 | renda 4664 | rene 4665 | renea 4666 | renee 4667 | renetta 4668 | renita 4669 | renna 4670 | ressie 4671 | reta 4672 | retha 4673 | retta 4674 | reuben 4675 | reva 4676 | rex 4677 | rey 4678 | reyes 4679 | reyna 4680 | reynalda 4681 | reynaldo 4682 | rhea 4683 | rheba 4684 | rhett 4685 | rhiannon 4686 | rhoda 4687 | rhona 4688 | rhonda 4689 | rhys 4690 | ria 4691 | ricarda 4692 | ricardo 4693 | rich 4694 | richard 4695 | richelle 4696 | richie 4697 | rick 4698 | rickey 4699 | ricki 4700 | rickie 4701 | ricky 4702 | rico 4703 | rigoberto 4704 | rihanna 4705 | rikki 4706 | riley 4707 | rima 4708 | rina 4709 | risa 4710 | rita 4711 | riva 4712 | river 4713 | rivka 4714 | rob 4715 | robbi 4716 | robbie 4717 | robbin 4718 | robby 4719 | robbyn 4720 | robena 4721 | robert 4722 | roberta 4723 | roberto 4724 | robin 4725 | robt 4726 | robyn 4727 | rocco 4728 | rochel 4729 | rochell 4730 | rochelle 4731 | rocio 4732 | rocky 4733 | rod 4734 | roderick 4735 | rodger 4736 | rodney 4737 | rodolfo 4738 | rodrick 4739 | rodrigo 4740 | rogelio 4741 | roger 4742 | rohan 4743 | roland 4744 | rolanda 4745 | rolande 4746 | rolando 4747 | rolf 4748 | rolland 4749 | roma 4750 | romaine 4751 | roman 4752 | romana 4753 | romelia 4754 | romeo 4755 | romona 4756 | ron 4757 | rona 4758 | ronald 4759 | ronan 4760 | ronda 4761 | roni 4762 | ronin 4763 | ronna 4764 | ronni 4765 | ronnie 4766 | ronny 4767 | roosevelt 4768 | rory 4769 | rosa 4770 | rosalba 4771 | rosalee 4772 | rosalia 4773 | rosalie 4774 | rosalina 4775 | rosalind 4776 | rosalinda 4777 | rosaline 4778 | rosalva 4779 | rosalyn 4780 | rosamaria 4781 | rosamond 4782 | rosana 4783 | rosann 4784 | rosanna 4785 | rosanne 4786 | rosaria 4787 | rosario 4788 | rosaura 4789 | roscoe 4790 | rose 4791 | roseann 4792 | roseanna 4793 | roseanne 4794 | roselee 4795 | roselia 4796 | roseline 4797 | rosella 4798 | roselle 4799 | roselyn 4800 | rosemarie 4801 | rosemary 4802 | rosena 4803 | rosenda 4804 | rosendo 4805 | rosetta 4806 | rosette 4807 | rosia 4808 | rosie 4809 | rosina 4810 | rosio 4811 | rosita 4812 | roslyn 4813 | ross 4814 | rossana 4815 | rossie 4816 | rosy 4817 | rowan 4818 | rowen 4819 | rowena 4820 | roxana 4821 | roxane 4822 | roxann 4823 | roxanna 4824 | roxanne 4825 | roxie 4826 | roxy 4827 | roy 4828 | royal 4829 | royce 4830 | rozanne 4831 | rozella 4832 | ruben 4833 | rubi 4834 | rubie 4835 | rubin 4836 | ruby 4837 | rubye 4838 | rudolf 4839 | rudolph 4840 | rudy 4841 | rueben 4842 | rufina 4843 | rufus 4844 | rupert 4845 | russ 4846 | russel 4847 | russell 4848 | rusty 4849 | ruth 4850 | rutha 4851 | ruthann 4852 | ruthanne 4853 | ruthe 4854 | ruthie 4855 | ryan 4856 | ryann 4857 | ryder 4858 | ryker 4859 | rylan 4860 | ryland 4861 | rylee 4862 | ryleigh 4863 | rylie 4864 | sabina 4865 | sabine 4866 | sabra 4867 | sabrina 4868 | sacha 4869 | sachiko 4870 | sade 4871 | sadie 4872 | sadye 4873 | sage 4874 | saige 4875 | sal 4876 | salena 4877 | salina 4878 | salley 4879 | sallie 4880 | sally 4881 | salma 4882 | salome 4883 | salvador 4884 | salvatore 4885 | sam 4886 | samantha 4887 | samara 4888 | samatha 4889 | samella 4890 | samir 4891 | samira 4892 | samiyah 4893 | sammie 4894 | sammy 4895 | samson 4896 | samual 4897 | samuel 4898 | sana 4899 | sanda 4900 | sandee 4901 | sandi 4902 | sandie 4903 | sandra 4904 | sandy 4905 | sanford 4906 | sang 4907 | saniya 4908 | saniyah 4909 | sanjuana 4910 | sanjuanita 4911 | sanora 4912 | santa 4913 | santana 4914 | santiago 4915 | santina 4916 | santino 4917 | santo 4918 | santos 4919 | sara 4920 | sarah 4921 | sarahi 4922 | sarai 4923 | saran 4924 | sari 4925 | sariah 4926 | sarina 4927 | sarita 4928 | sasha 4929 | saturnina 4930 | sau 4931 | saul 4932 | saundra 4933 | savanna 4934 | savannah 4935 | sawyer 4936 | saylor 4937 | scarlet 4938 | scarlett 4939 | scarlette 4940 | scot 4941 | scott 4942 | scottie 4943 | scotty 4944 | seamus 4945 | sean 4946 | season 4947 | sebastian 4948 | sebrina 4949 | see 4950 | seema 4951 | selah 4952 | selena 4953 | selene 4954 | selina 4955 | selma 4956 | semaj 4957 | sena 4958 | senaida 4959 | september 4960 | serafina 4961 | serena 4962 | serenity 4963 | sergio 4964 | serina 4965 | serita 4966 | seth 4967 | setsuko 4968 | seymour 4969 | sha 4970 | shad 4971 | shae 4972 | shaina 4973 | shakia 4974 | shakira 4975 | shakita 4976 | shala 4977 | shalanda 4978 | shalon 4979 | shalonda 4980 | shameka 4981 | shamika 4982 | shan 4983 | shana 4984 | shanae 4985 | shanda 4986 | shandi 4987 | shandra 4988 | shane 4989 | shaneka 4990 | shanel 4991 | shanell 4992 | shanelle 4993 | shani 4994 | shanice 4995 | shanika 4996 | shaniqua 4997 | shanita 4998 | shanna 4999 | shannan 5000 | shannon 5001 | shanon 5002 | shanta 5003 | shantae 5004 | shantay 5005 | shante 5006 | shantel 5007 | shantell 5008 | shantelle 5009 | shanti 5010 | shaquana 5011 | shaquita 5012 | shara 5013 | sharan 5014 | sharda 5015 | sharee 5016 | sharell 5017 | sharen 5018 | shari 5019 | sharice 5020 | sharie 5021 | sharika 5022 | sharilyn 5023 | sharita 5024 | sharla 5025 | sharleen 5026 | sharlene 5027 | sharmaine 5028 | sharolyn 5029 | sharon 5030 | sharonda 5031 | sharri 5032 | sharron 5033 | sharyl 5034 | sharyn 5035 | shasta 5036 | shaun 5037 | shauna 5038 | shaunda 5039 | shaunna 5040 | shaunta 5041 | shaunte 5042 | shavon 5043 | shavonda 5044 | shavonne 5045 | shawana 5046 | shawanda 5047 | shawanna 5048 | shawn 5049 | shawna 5050 | shawnda 5051 | shawnee 5052 | shawnna 5053 | shawnta 5054 | shay 5055 | shayla 5056 | shayna 5057 | shayne 5058 | shea 5059 | sheba 5060 | sheena 5061 | sheila 5062 | sheilah 5063 | shela 5064 | shelba 5065 | shelby 5066 | sheldon 5067 | shelia 5068 | shella 5069 | shelley 5070 | shelli 5071 | shellie 5072 | shelly 5073 | shelton 5074 | shemeka 5075 | shemika 5076 | shena 5077 | shenika 5078 | shenita 5079 | shenna 5080 | shera 5081 | sheree 5082 | sherell 5083 | sheri 5084 | sherice 5085 | sheridan 5086 | sherie 5087 | sherika 5088 | sherill 5089 | sherilyn 5090 | sherise 5091 | sherita 5092 | sherlene 5093 | sherley 5094 | sherly 5095 | sherlyn 5096 | sherman 5097 | sheron 5098 | sherrell 5099 | sherri 5100 | sherrie 5101 | sherril 5102 | sherrill 5103 | sherron 5104 | sherry 5105 | sherryl 5106 | sherwood 5107 | shery 5108 | sheryl 5109 | sheryll 5110 | shiela 5111 | shila 5112 | shiloh 5113 | shin 5114 | shira 5115 | shirely 5116 | shirl 5117 | shirlee 5118 | shirleen 5119 | shirlene 5120 | shirley 5121 | shirly 5122 | shizue 5123 | shizuko 5124 | shon 5125 | shona 5126 | shonda 5127 | shondra 5128 | shonna 5129 | shonta 5130 | shoshana 5131 | shu 5132 | shyla 5133 | sibyl 5134 | sid 5135 | sidney 5136 | siena 5137 | sienna 5138 | sierra 5139 | signe 5140 | sigrid 5141 | silas 5142 | silva 5143 | silvana 5144 | silvia 5145 | sima 5146 | simon 5147 | simona 5148 | simone 5149 | simonne 5150 | sina 5151 | sincere 5152 | sindy 5153 | siobhan 5154 | sirena 5155 | siu 5156 | sixta 5157 | sky 5158 | skye 5159 | skyla 5160 | skylar 5161 | skyler 5162 | sloan 5163 | sloane 5164 | slyvia 5165 | so 5166 | socorro 5167 | sofia 5168 | soila 5169 | sol 5170 | solange 5171 | soledad 5172 | solomon 5173 | somer 5174 | sommer 5175 | son 5176 | sona 5177 | sondra 5178 | song 5179 | sonia 5180 | sonja 5181 | sonny 5182 | sonya 5183 | soo 5184 | sook 5185 | soon 5186 | sophia 5187 | sophie 5188 | soraya 5189 | soren 5190 | sparkle 5191 | spencer 5192 | spring 5193 | stacee 5194 | stacey 5195 | staci 5196 | stacia 5197 | stacie 5198 | stacy 5199 | stan 5200 | stanford 5201 | stanley 5202 | stanton 5203 | star 5204 | starla 5205 | starr 5206 | stasia 5207 | stefan 5208 | stefani 5209 | stefania 5210 | stefanie 5211 | stefany 5212 | steffanie 5213 | stella 5214 | stepanie 5215 | stephaine 5216 | stephan 5217 | stephane 5218 | stephani 5219 | stephania 5220 | stephanie 5221 | stephany 5222 | stephen 5223 | stephenie 5224 | stephine 5225 | stephnie 5226 | sterling 5227 | stetson 5228 | steve 5229 | steven 5230 | stevie 5231 | stewart 5232 | stormy 5233 | stuart 5234 | su 5235 | suanne 5236 | sudie 5237 | sue 5238 | sueann 5239 | suellen 5240 | suk 5241 | sulema 5242 | sullivan 5243 | sumiko 5244 | summer 5245 | sun 5246 | sunday 5247 | sung 5248 | sunni 5249 | sunny 5250 | sunshine 5251 | susan 5252 | susana 5253 | susann 5254 | susanna 5255 | susannah 5256 | susanne 5257 | susie 5258 | susy 5259 | sutton 5260 | suzan 5261 | suzann 5262 | suzanna 5263 | suzanne 5264 | suzette 5265 | suzi 5266 | suzie 5267 | suzy 5268 | svetlana 5269 | sybil 5270 | syble 5271 | sydney 5272 | sylas 5273 | sylvester 5274 | sylvia 5275 | sylvie 5276 | synthia 5277 | syreeta 5278 | ta 5279 | tabatha 5280 | tabetha 5281 | tabitha 5282 | tad 5283 | tai 5284 | taina 5285 | taisha 5286 | tajuana 5287 | takako 5288 | takisha 5289 | talia 5290 | talisha 5291 | talitha 5292 | taliyah 5293 | talon 5294 | tam 5295 | tama 5296 | tamala 5297 | tamar 5298 | tamara 5299 | tamatha 5300 | tambra 5301 | tameika 5302 | tameka 5303 | tamekia 5304 | tamela 5305 | tamera 5306 | tamesha 5307 | tami 5308 | tamia 5309 | tamica 5310 | tamie 5311 | tamika 5312 | tamiko 5313 | tamisha 5314 | tammara 5315 | tammera 5316 | tammi 5317 | tammie 5318 | tammy 5319 | tamra 5320 | tana 5321 | tandra 5322 | tandy 5323 | taneka 5324 | tanesha 5325 | tangela 5326 | tania 5327 | tanika 5328 | tanisha 5329 | tanja 5330 | tanna 5331 | tanner 5332 | tanya 5333 | tara 5334 | tarah 5335 | taren 5336 | tari 5337 | tarra 5338 | tarsha 5339 | taryn 5340 | tasha 5341 | tashia 5342 | tashina 5343 | tasia 5344 | tate 5345 | tatiana 5346 | tatum 5347 | tatyana 5348 | taunya 5349 | tawana 5350 | tawanda 5351 | tawanna 5352 | tawna 5353 | tawny 5354 | tawnya 5355 | taylor 5356 | tayna 5357 | teagan 5358 | ted 5359 | teddy 5360 | teena 5361 | tegan 5362 | teisha 5363 | telma 5364 | temeka 5365 | temika 5366 | temperance 5367 | tempie 5368 | temple 5369 | tena 5370 | tenesha 5371 | tenisha 5372 | tenley 5373 | tennie 5374 | tennille 5375 | teodora 5376 | teodoro 5377 | teofila 5378 | tequila 5379 | tera 5380 | tereasa 5381 | terence 5382 | teresa 5383 | terese 5384 | teresia 5385 | teresita 5386 | teressa 5387 | teri 5388 | terica 5389 | terina 5390 | terisa 5391 | terra 5392 | terrance 5393 | terrell 5394 | terrence 5395 | terresa 5396 | terri 5397 | terrie 5398 | terrilyn 5399 | terry 5400 | tesha 5401 | tess 5402 | tessa 5403 | tessie 5404 | thad 5405 | thaddeus 5406 | thalia 5407 | thanh 5408 | thao 5409 | thatcher 5410 | thea 5411 | theda 5412 | thelma 5413 | theo 5414 | theodora 5415 | theodore 5416 | theola 5417 | theresa 5418 | therese 5419 | theresia 5420 | theressa 5421 | theron 5422 | thersa 5423 | thi 5424 | thiago 5425 | thomas 5426 | thomasena 5427 | thomasina 5428 | thomasine 5429 | thora 5430 | thresa 5431 | thu 5432 | thurman 5433 | thuy 5434 | tia 5435 | tiana 5436 | tianna 5437 | tiara 5438 | tien 5439 | tiera 5440 | tierra 5441 | tiesha 5442 | tifany 5443 | tiffaney 5444 | tiffani 5445 | tiffanie 5446 | tiffany 5447 | tiffiny 5448 | tijuana 5449 | tilda 5450 | tillie 5451 | tim 5452 | timika 5453 | timmy 5454 | timothy 5455 | tina 5456 | tinisha 5457 | tinley 5458 | tiny 5459 | tisa 5460 | tish 5461 | tisha 5462 | tobi 5463 | tobias 5464 | tobie 5465 | toby 5466 | toccara 5467 | tod 5468 | todd 5469 | toi 5470 | tom 5471 | tomas 5472 | tomasa 5473 | tomeka 5474 | tomi 5475 | tomika 5476 | tomiko 5477 | tommie 5478 | tommy 5479 | tommye 5480 | tomoko 5481 | tona 5482 | tonda 5483 | tonette 5484 | toney 5485 | toni 5486 | tonia 5487 | tonie 5488 | tonisha 5489 | tonita 5490 | tonja 5491 | tony 5492 | tonya 5493 | tora 5494 | tori 5495 | torie 5496 | torri 5497 | torrie 5498 | tory 5499 | tosha 5500 | toshia 5501 | toshiko 5502 | tova 5503 | towanda 5504 | toya 5505 | trace 5506 | tracee 5507 | tracey 5508 | traci 5509 | tracie 5510 | tracy 5511 | tran 5512 | trang 5513 | travis 5514 | treasa 5515 | treena 5516 | trena 5517 | trent 5518 | trenton 5519 | tresa 5520 | tressa 5521 | tressie 5522 | treva 5523 | trevor 5524 | trey 5525 | tricia 5526 | trina 5527 | trinh 5528 | trinidad 5529 | trinity 5530 | tripp 5531 | trish 5532 | trisha 5533 | trista 5534 | tristan 5535 | tristen 5536 | tristian 5537 | tristin 5538 | triston 5539 | troy 5540 | trudi 5541 | trudie 5542 | trudy 5543 | trula 5544 | truman 5545 | tu 5546 | tuan 5547 | tucker 5548 | tula 5549 | turner 5550 | tuyet 5551 | twana 5552 | twanda 5553 | twanna 5554 | twila 5555 | twyla 5556 | ty 5557 | tyesha 5558 | tyisha 5559 | tyler 5560 | tynisha 5561 | tyra 5562 | tyree 5563 | tyrell 5564 | tyron 5565 | tyrone 5566 | tyson 5567 | ula 5568 | ulises 5569 | ulrike 5570 | ulysses 5571 | un 5572 | una 5573 | uriah 5574 | uriel 5575 | urijah 5576 | ursula 5577 | usha 5578 | ute 5579 | vada 5580 | val 5581 | valarie 5582 | valda 5583 | valencia 5584 | valene 5585 | valentin 5586 | valentina 5587 | valentine 5588 | valentino 5589 | valeri 5590 | valeria 5591 | valerie 5592 | valery 5593 | vallie 5594 | valorie 5595 | valrie 5596 | van 5597 | vance 5598 | vanda 5599 | vanesa 5600 | vanessa 5601 | vanetta 5602 | vania 5603 | vanita 5604 | vanna 5605 | vannesa 5606 | vannessa 5607 | vashti 5608 | vasiliki 5609 | vaughn 5610 | veda 5611 | velda 5612 | velia 5613 | vella 5614 | velma 5615 | velva 5616 | velvet 5617 | vena 5618 | venessa 5619 | venetta 5620 | venice 5621 | venita 5622 | vennie 5623 | venus 5624 | veola 5625 | vera 5626 | verda 5627 | verdell 5628 | verdie 5629 | verena 5630 | vergie 5631 | verla 5632 | verlene 5633 | verlie 5634 | verline 5635 | vern 5636 | verna 5637 | vernell 5638 | vernetta 5639 | vernia 5640 | vernice 5641 | vernie 5642 | vernita 5643 | vernon 5644 | verona 5645 | veronica 5646 | veronika 5647 | veronique 5648 | versie 5649 | vertie 5650 | vesta 5651 | veta 5652 | vi 5653 | vicenta 5654 | vicente 5655 | vickey 5656 | vicki 5657 | vickie 5658 | vicky 5659 | victor 5660 | victoria 5661 | victorina 5662 | vida 5663 | vihaan 5664 | viki 5665 | vikki 5666 | vilma 5667 | vina 5668 | vince 5669 | vincent 5670 | vincenza 5671 | vincenzo 5672 | vinita 5673 | vinnie 5674 | viola 5675 | violet 5676 | violeta 5677 | violette 5678 | virgen 5679 | virgie 5680 | virgil 5681 | virgilio 5682 | virgina 5683 | virginia 5684 | vita 5685 | vito 5686 | viva 5687 | vivan 5688 | vivian 5689 | viviana 5690 | vivien 5691 | vivienne 5692 | von 5693 | voncile 5694 | vonda 5695 | vonnie 5696 | wade 5697 | wai 5698 | waldo 5699 | walker 5700 | wallace 5701 | wally 5702 | walter 5703 | walton 5704 | waltraud 5705 | wan 5706 | wanda 5707 | waneta 5708 | wanetta 5709 | wanita 5710 | ward 5711 | warner 5712 | warren 5713 | wava 5714 | waylon 5715 | wayne 5716 | wei 5717 | weldon 5718 | wen 5719 | wendell 5720 | wendi 5721 | wendie 5722 | wendolyn 5723 | wendy 5724 | wenona 5725 | werner 5726 | wes 5727 | wesley 5728 | westin 5729 | weston 5730 | whitley 5731 | whitney 5732 | wilber 5733 | wilbert 5734 | wilbur 5735 | wilburn 5736 | wilda 5737 | wiley 5738 | wilford 5739 | wilfred 5740 | wilfredo 5741 | wilhelmina 5742 | wilhemina 5743 | will 5744 | willa 5745 | willard 5746 | willena 5747 | willene 5748 | willetta 5749 | willette 5750 | willia 5751 | william 5752 | williams 5753 | willian 5754 | willie 5755 | williemae 5756 | willis 5757 | willodean 5758 | willow 5759 | willy 5760 | wilma 5761 | wilmer 5762 | wilson 5763 | wilton 5764 | windy 5765 | winford 5766 | winfred 5767 | winifred 5768 | winnie 5769 | winnifred 5770 | winona 5771 | winston 5772 | winter 5773 | wonda 5774 | woodrow 5775 | wren 5776 | wyatt 5777 | wynell 5778 | wynona 5779 | wynter 5780 | xander 5781 | xavi 5782 | xavier 5783 | xenia 5784 | xiao 5785 | ximena 5786 | xiomara 5787 | xochitl 5788 | xuan 5789 | xzavier 5790 | yadiel 5791 | yadira 5792 | yaeko 5793 | yael 5794 | yahaira 5795 | yahir 5796 | yair 5797 | yajaira 5798 | yamileth 5799 | yan 5800 | yang 5801 | yanira 5802 | yareli 5803 | yaretzi 5804 | yaritza 5805 | yasmin 5806 | yasmine 5807 | yasuko 5808 | yee 5809 | yelena 5810 | yen 5811 | yer 5812 | yesenia 5813 | yessenia 5814 | yetta 5815 | yevette 5816 | yi 5817 | ying 5818 | yoko 5819 | yolanda 5820 | yolande 5821 | yolando 5822 | yolonda 5823 | yon 5824 | yong 5825 | yosef 5826 | yoshie 5827 | yoshiko 5828 | youlanda 5829 | young 5830 | yousef 5831 | yu 5832 | yuette 5833 | yuk 5834 | yuki 5835 | yukiko 5836 | yuko 5837 | yulanda 5838 | yun 5839 | yung 5840 | yuonne 5841 | yuri 5842 | yuriko 5843 | yusuf 5844 | yvette 5845 | yvone 5846 | yvonne 5847 | zachariah 5848 | zachary 5849 | zachery 5850 | zack 5851 | zackary 5852 | zada 5853 | zahra 5854 | zaid 5855 | zaida 5856 | zaiden 5857 | zain 5858 | zainab 5859 | zaire 5860 | zana 5861 | zander 5862 | zandra 5863 | zane 5864 | zaniyah 5865 | zara 5866 | zaria 5867 | zariah 5868 | zariyah 5869 | zavier 5870 | zayden 5871 | zayn 5872 | zayne 5873 | zechariah 5874 | zeke 5875 | zelda 5876 | zella 5877 | zelma 5878 | zena 5879 | zenaida 5880 | zenia 5881 | zenobia 5882 | zetta 5883 | zina 5884 | zion 5885 | zita 5886 | zoe 5887 | zoey 5888 | zofia 5889 | zoie 5890 | zoila 5891 | zola 5892 | zona 5893 | zonia 5894 | zora 5895 | zoraida 5896 | zula 5897 | zulema 5898 | zulma 5899 | zuri 5900 | -------------------------------------------------------------------------------- /words/medium/adjectives.txt: -------------------------------------------------------------------------------- 1 | abiding 2 | able 3 | abounding 4 | above 5 | aboveboard 6 | absolute 7 | absolved 8 | abundant 9 | acceptable 10 | accepted 11 | accepting 12 | accessible 13 | accredited 14 | accurate 15 | accustomed 16 | ace 17 | achieving 18 | acquainted 19 | active 20 | actual 21 | adaptable 22 | adapted 23 | adapting 24 | adaptive 25 | adept 26 | adequate 27 | adjusted 28 | admirable 29 | admired 30 | admissible 31 | adorable 32 | adored 33 | adoring 34 | adroit 35 | advanced 36 | advantaged 37 | advisable 38 | aesthetic 39 | affable 40 | affecting 41 | affirming 42 | affluent 43 | affordable 44 | agile 45 | agreeable 46 | airy 47 | alert 48 | alive 49 | allied 50 | allowed 51 | allowing 52 | alluring 53 | altruistic 54 | amazed 55 | amazing 56 | ambitious 57 | amenable 58 | amiable 59 | amicable 60 | ample 61 | amused 62 | amusing 63 | angelic 64 | animated 65 | animating 66 | anointed 67 | apparent 68 | appealing 69 | appeasing 70 | applauded 71 | apposite 72 | approving 73 | apt 74 | ardent 75 | aroused 76 | arresting 77 | arriving 78 | artful 79 | articulate 80 | artistic 81 | ascending 82 | aspirant 83 | aspiring 84 | assertive 85 | assisting 86 | assured 87 | assuring 88 | astounding 89 | astute 90 | athletic 91 | attentive 92 | attractive 93 | august 94 | auspicious 95 | authentic 96 | autonomous 97 | available 98 | avid 99 | awaited 100 | awake 101 | aware 102 | awed 103 | awesome 104 | balanced 105 | balmy 106 | beaming 107 | beautified 108 | beautiful 109 | becoming 110 | beefy 111 | befriended 112 | believable 113 | beloved 114 | beneficial 115 | benevolent 116 | benign 117 | better 118 | bewitching 119 | big 120 | blameless 121 | blazing 122 | blessed 123 | blissful 124 | blithe 125 | blooming 126 | blossoming 127 | boisterous 128 | bold 129 | boss 130 | bounding 131 | bountiful 132 | brainy 133 | brave 134 | brawny 135 | breezy 136 | brief 137 | bright 138 | brilliant 139 | brimming 140 | brisk 141 | brotherly 142 | bubbly 143 | budding 144 | buff 145 | buoyant 146 | bursting 147 | bustling 148 | busy 149 | calm 150 | calming 151 | canny 152 | capable 153 | capital 154 | carefree 155 | careful 156 | caring 157 | casual 158 | causal 159 | celebrated 160 | celestial 161 | central 162 | cerebral 163 | certain 164 | champion 165 | changeable 166 | charitable 167 | charmed 168 | charming 169 | cheerful 170 | cherished 171 | cherry 172 | chic 173 | chief 174 | childlike 175 | chipper 176 | chivalrous 177 | choice 178 | chummy 179 | civic 180 | civil 181 | classic 182 | classical 183 | classy 184 | clean 185 | cleansing 186 | clear 187 | clever 188 | climactic 189 | climbing 190 | close 191 | closing 192 | cogent 193 | coherent 194 | collected 195 | colossal 196 | comforting 197 | comic 198 | comical 199 | commanding 200 | commending 201 | committed 202 | communal 203 | compatible 204 | compelling 205 | competent 206 | complete 207 | completed 208 | composed 209 | concise 210 | conclusive 211 | concrete 212 | conducive 213 | confident 214 | confirmed 215 | congenial 216 | congruent 217 | connected 218 | conquering 219 | conscious 220 | consistent 221 | consonant 222 | content 223 | contiguous 224 | continuous 225 | convenient 226 | conversant 227 | convincing 228 | cool 229 | copious 230 | cordial 231 | corking 232 | correct 233 | cosmic 234 | courageous 235 | courteous 236 | crack 237 | cranked 238 | creamy 239 | creative 240 | credible 241 | creditable 242 | credited 243 | crisp 244 | crucial 245 | cuddly 246 | cultivated 247 | cultured 248 | cunning 249 | curious 250 | current 251 | cute 252 | dainty 253 | dandy 254 | dapper 255 | daring 256 | darling 257 | dashing 258 | dauntless 259 | dazzled 260 | dazzling 261 | dear 262 | debonair 263 | decent 264 | deciding 265 | decisive 266 | decorous 267 | dedicated 268 | deductive 269 | deep 270 | defiant 271 | definite 272 | definitive 273 | deft 274 | delectable 275 | deliberate 276 | delicate 277 | delicious 278 | delighted 279 | delightful 280 | deluxe 281 | democratic 282 | dependable 283 | deserving 284 | desirable 285 | desired 286 | desirous 287 | destined 288 | determined 289 | developed 290 | developing 291 | devoted 292 | devout 293 | dexterous 294 | different 295 | dignified 296 | diligent 297 | diplomatic 298 | direct 299 | disarming 300 | discerning 301 | discreet 302 | discrete 303 | distinct 304 | diverse 305 | diverting 306 | divine 307 | dominant 308 | doting 309 | dreamy 310 | driven 311 | driving 312 | droll 313 | durable 314 | dutiful 315 | dynamic 316 | eager 317 | earnest 318 | earthy 319 | easy 320 | easygoing 321 | eclectic 322 | economic 323 | ecstatic 324 | educated 325 | effective 326 | effectual 327 | efficient 328 | effortless 329 | electric 330 | elegant 331 | elemental 332 | elevated 333 | elevating 334 | eligible 335 | eloquent 336 | emerging 337 | eminent 338 | empowered 339 | empowering 340 | emulated 341 | enabled 342 | enabling 343 | enchanted 344 | enchanting 345 | encouraged 346 | endeared 347 | endearing 348 | endless 349 | endorsed 350 | endorsing 351 | endowed 352 | enduring 353 | energetic 354 | engaged 355 | engaging 356 | engrossed 357 | engrossing 358 | enhanced 359 | enjoyable 360 | enjoyed 361 | enlivened 362 | enlivening 363 | enormous 364 | enough 365 | enriched 366 | enriching 367 | enthralled 368 | enticed 369 | enticing 370 | entranced 371 | entrancing 372 | epic 373 | equal 374 | equipped 375 | equitable 376 | erudite 377 | especial 378 | essential 379 | esteemed 380 | eternal 381 | ethereal 382 | ethical 383 | eventful 384 | evident 385 | evocative 386 | evolved 387 | evolving 388 | exact 389 | exalted 390 | exalting 391 | exceeding 392 | excellent 393 | excelling 394 | excited 395 | exciting 396 | exclusive 397 | executive 398 | exemplary 399 | exhaustive 400 | exotic 401 | expansive 402 | expectant 403 | expedient 404 | expensive 405 | expert 406 | expressive 407 | exquisite 408 | exuberant 409 | exultant 410 | exulting 411 | fabulous 412 | factual 413 | fair 414 | faithful 415 | famed 416 | familiar 417 | famous 418 | fancy 419 | fantastic 420 | fascinated 421 | fast 422 | fatherly 423 | faultless 424 | fearless 425 | feasible 426 | feminine 427 | fertile 428 | fervent 429 | festive 430 | fetching 431 | fiery 432 | fine 433 | finer 434 | firm 435 | first 436 | fit 437 | fitting 438 | flamboyant 439 | flashy 440 | flawless 441 | fleet 442 | flexible 443 | flowing 444 | fluent 445 | fluttering 446 | flying 447 | fond 448 | foolproof 449 | forbearing 450 | forceful 451 | foremost 452 | forgiving 453 | formidable 454 | forthright 455 | fortified 456 | fortifying 457 | fortuitous 458 | fortunate 459 | foxy 460 | fragrant 461 | frank 462 | fraternal 463 | free 464 | fresh 465 | frisky 466 | fruitful 467 | fulfilled 468 | fulfilling 469 | full 470 | fun 471 | funny 472 | gainful 473 | gallant 474 | galore 475 | game 476 | generous 477 | genial 478 | gentle 479 | genuine 480 | gifted 481 | giving 482 | glad 483 | glamorous 484 | gleaming 485 | glistening 486 | glorious 487 | glowing 488 | godlike 489 | golden 490 | good 491 | gorgeous 492 | graced 493 | graceful 494 | gracious 495 | grand 496 | grateful 497 | gratified 498 | gratifying 499 | great 500 | gregarious 501 | groovy 502 | grounded 503 | growing 504 | grown 505 | guaranteed 506 | guided 507 | guiding 508 | guiltless 509 | hale 510 | haloed 511 | handsome 512 | handy 513 | happening 514 | happy 515 | hardy 516 | harmless 517 | harmonic 518 | harmonious 519 | haunting 520 | healing 521 | healthful 522 | healthy 523 | heartfelt 524 | hearty 525 | helped 526 | helpful 527 | helping 528 | heralded 529 | heroic 530 | heuristic 531 | hilarious 532 | hip 533 | holy 534 | honest 535 | honeyed 536 | honorary 537 | hopeful 538 | hospitable 539 | hot 540 | huge 541 | humane 542 | humble 543 | humorous 544 | hygienic 545 | ideal 546 | idealistic 547 | immaculate 548 | immediate 549 | immense 550 | immortal 551 | immune 552 | impartial 553 | impeccable 554 | impish 555 | important 556 | impressive 557 | improved 558 | improving 559 | in 560 | incisive 561 | included 562 | inclusive 563 | incredible 564 | infallible 565 | infinite 566 | informed 567 | ingenious 568 | initiative 569 | innate 570 | innocent 571 | innocuous 572 | innovative 573 | inspired 574 | inspiring 575 | integral 576 | integrated 577 | intense 578 | intent 579 | interested 580 | internal 581 | intimate 582 | intrepid 583 | intrigued 584 | intriguing 585 | intrinsic 586 | inventive 587 | invincible 588 | inviting 589 | iridescent 590 | jaunty 591 | jesting 592 | jocular 593 | joint 594 | jointed 595 | jovial 596 | joyful 597 | joyous 598 | jubilant 599 | judicious 600 | juicy 601 | just 602 | justified 603 | keen 604 | key 605 | kind 606 | kindred 607 | knowing 608 | known 609 | ladylike 610 | large 611 | lasting 612 | laudable 613 | laureate 614 | lavish 615 | lawful 616 | leading 617 | learning 618 | legal 619 | legendary 620 | legible 621 | legitimate 622 | leisurely 623 | lenient 624 | lettered 625 | liberal 626 | liberated 627 | liberating 628 | light 629 | lightened 630 | liked 631 | limber 632 | literary 633 | literate 634 | lithe 635 | live 636 | living 637 | logical 638 | lovable 639 | loved 640 | loving 641 | loyal 642 | lucid 643 | lucky 644 | lucrative 645 | luminous 646 | luscious 647 | lush 648 | lustrous 649 | lusty 650 | luxuriant 651 | magical 652 | magnetic 653 | maiden 654 | main 655 | majestic 656 | major 657 | malleable 658 | manageable 659 | manifest 660 | many 661 | marketable 662 | masculine 663 | massive 664 | master 665 | masterful 666 | matchless 667 | maternal 668 | mature 669 | maturing 670 | maximal 671 | maximum 672 | meaningful 673 | measured 674 | meek 675 | meet 676 | mellow 677 | melodious 678 | memorable 679 | merciful 680 | merry 681 | meteoric 682 | methodical 683 | meticulous 684 | mighty 685 | mindful 686 | mint 687 | miraculous 688 | model 689 | modern 690 | modest 691 | momentous 692 | monumental 693 | moral 694 | more 695 | motivated 696 | motivating 697 | moved 698 | moving 699 | muscular 700 | musical 701 | mutual 702 | national 703 | nationwide 704 | native 705 | natty 706 | natural 707 | nearby 708 | neat 709 | necessary 710 | needed 711 | neutral 712 | new 713 | newborn 714 | next 715 | nice 716 | nifty 717 | nimble 718 | noble 719 | nonchalant 720 | normal 721 | notable 722 | noted 723 | noteworthy 724 | nourished 725 | nourishing 726 | novel 727 | nurtured 728 | nurturing 729 | objective 730 | obliging 731 | observant 732 | obtainable 733 | omnipotent 734 | on 735 | one 736 | open 737 | opportune 738 | optimal 739 | optimistic 740 | optimum 741 | opulent 742 | organic 743 | oriented 744 | original 745 | ornamental 746 | outgoing 747 | outspoken 748 | overriding 749 | overruling 750 | pacific 751 | palatable 752 | paramount 753 | pardonable 754 | parental 755 | particular 756 | passionate 757 | paternal 758 | patient 759 | peaceable 760 | peaceful 761 | peerless 762 | perceptive 763 | perennial 764 | perfect 765 | perky 766 | permanent 767 | permissive 768 | perpetual 769 | persistent 770 | personable 771 | persuasive 772 | pert 773 | pertinent 774 | pet 775 | petite 776 | phenomenal 777 | phlegmatic 778 | picked 779 | pioneering 780 | pious 781 | pithy 782 | pivotal 783 | placid 784 | planetary 785 | plausible 786 | playful 787 | pleasant 788 | pleased 789 | pleasing 790 | plentiful 791 | pliable 792 | plucky 793 | poetic 794 | poignant 795 | poised 796 | polished 797 | polite 798 | popular 799 | positive 800 | possible 801 | potent 802 | potential 803 | powerful 804 | practical 805 | pragmatic 806 | praised 807 | precious 808 | precise 809 | precocious 810 | preeminent 811 | preferable 812 | preferred 813 | premier 814 | premium 815 | prepared 816 | present 817 | pretty 818 | prevailing 819 | prevalent 820 | priceless 821 | primal 822 | primary 823 | prime 824 | primed 825 | principal 826 | privileged 827 | pro 828 | probable 829 | prodigious 830 | productive 831 | proficient 832 | profitable 833 | profound 834 | profuse 835 | prolific 836 | prominent 837 | promising 838 | promoted 839 | promoting 840 | prompt 841 | proper 842 | prophetic 843 | prospering 844 | prosperous 845 | protected 846 | protective 847 | proud 848 | proven 849 | prudent 850 | psychic 851 | pumped 852 | punctual 853 | pure 854 | purified 855 | purifying 856 | purposeful 857 | quaint 858 | qualified 859 | quality 860 | queenly 861 | quick 862 | quickened 863 | quiet 864 | racy 865 | radiant 866 | rapid 867 | rapt 868 | rapturous 869 | rare 870 | rational 871 | ravishing 872 | ready 873 | real 874 | realistic 875 | reasonable 876 | reassuring 877 | receiving 878 | receptive 879 | reciprocal 880 | refined 881 | refreshed 882 | refreshing 883 | regal 884 | regular 885 | rejoicing 886 | related 887 | relative 888 | relaxed 889 | relaxing 890 | relevant 891 | reliable 892 | relieved 893 | relieving 894 | relished 895 | relishing 896 | remarkable 897 | renewed 898 | renewing 899 | renowned 900 | replete 901 | reputable 902 | resilient 903 | resolute 904 | resolved 905 | resounding 906 | respected 907 | respectful 908 | responsive 909 | rested 910 | restful 911 | revealing 912 | revered 913 | reverent 914 | revived 915 | rewarded 916 | rewarding 917 | rich 918 | right 919 | righteous 920 | rightful 921 | robust 922 | romantic 923 | rosy 924 | roused 925 | rousing 926 | ruling 927 | sacred 928 | safe 929 | sage 930 | saintly 931 | sanctified 932 | sanctioned 933 | sassy 934 | satisfied 935 | satisfying 936 | saucy 937 | saved 938 | saving 939 | savvy 940 | scented 941 | scholarly 942 | scientific 943 | scrupulous 944 | seasoned 945 | secure 946 | secured 947 | select 948 | selected 949 | sensible 950 | sensitive 951 | sensual 952 | sensuous 953 | serene 954 | set 955 | settled 956 | settling 957 | shapely 958 | sharing 959 | sharp 960 | sheltering 961 | shining 962 | shipshape 963 | showy 964 | shrewd 965 | simple 966 | sincere 967 | sinewy 968 | singular 969 | sisterly 970 | skilled 971 | sleek 972 | slick 973 | smart 974 | smashing 975 | smiling 976 | smitten 977 | smooth 978 | snappy 979 | snug 980 | soaring 981 | sociable 982 | social 983 | solid 984 | soothed 985 | soothing 986 | sought 987 | sound 988 | sovereign 989 | spacious 990 | spanking 991 | sparkling 992 | special 993 | speedy 994 | spicy 995 | spirited 996 | spiritual 997 | splendid 998 | sporting 999 | spotless 1000 | spruce 1001 | spry 1002 | square 1003 | stable 1004 | staid 1005 | stalwart 1006 | star 1007 | staunch 1008 | steadfast 1009 | steady 1010 | stellar 1011 | sterling 1012 | still 1013 | stimulated 1014 | stirred 1015 | stirring 1016 | strapping 1017 | strategic 1018 | striking 1019 | striving 1020 | strong 1021 | studious 1022 | stunning 1023 | stupendous 1024 | sturdy 1025 | stylish 1026 | suave 1027 | sublime 1028 | subtle 1029 | successful 1030 | succinct 1031 | succulent 1032 | sufficient 1033 | suitable 1034 | suited 1035 | summary 1036 | sumptuous 1037 | sunny 1038 | super 1039 | superb 1040 | superior 1041 | supersonic 1042 | supple 1043 | supported 1044 | supporting 1045 | supportive 1046 | supreme 1047 | sure 1048 | surpassing 1049 | surprised 1050 | surprising 1051 | sustained 1052 | sustaining 1053 | swaying 1054 | sweeping 1055 | sweet 1056 | swell 1057 | systematic 1058 | tactful 1059 | talented 1060 | tangible 1061 | tasteful 1062 | tasty 1063 | teaching 1064 | teeming 1065 | temperate 1066 | tenable 1067 | tenacious 1068 | tender 1069 | terrific 1070 | thankful 1071 | thorough 1072 | thoughtful 1073 | thrilled 1074 | thrilling 1075 | thriving 1076 | tickled 1077 | tidy 1078 | tight 1079 | timeless 1080 | tireless 1081 | titillated 1082 | together 1083 | tolerant 1084 | tonic 1085 | top 1086 | topical 1087 | tops 1088 | touched 1089 | touching 1090 | tough 1091 | touted 1092 | tranquil 1093 | treasured 1094 | tremendous 1095 | trim 1096 | triumphant 1097 | true 1098 | trusted 1099 | trustful 1100 | trusting 1101 | trusty 1102 | truthful 1103 | tuneful 1104 | ubiquitous 1105 | ultimate 1106 | unaffected 1107 | unanimous 1108 | unassuming 1109 | unattached 1110 | unbeatable 1111 | unbiased 1112 | unbroken 1113 | uncommon 1114 | undamaged 1115 | undaunted 1116 | understood 1117 | undoubted 1118 | unerring 1119 | unfailing 1120 | unified 1121 | unique 1122 | united 1123 | universal 1124 | unlimited 1125 | unruffled 1126 | untiring 1127 | untouched 1128 | unusual 1129 | up 1130 | upbeat 1131 | uplifted 1132 | uplifting 1133 | uppermost 1134 | upright 1135 | upstanding 1136 | uptown 1137 | upward 1138 | urbane 1139 | usable 1140 | useful 1141 | utmost 1142 | valiant 1143 | valid 1144 | validating 1145 | valuable 1146 | valued 1147 | vast 1148 | vaulting 1149 | vehement 1150 | venerable 1151 | venerated 1152 | verified 1153 | veritable 1154 | versatile 1155 | versed 1156 | veteran 1157 | viable 1158 | vibrant 1159 | victorious 1160 | vigilant 1161 | vigorous 1162 | virile 1163 | virtuous 1164 | visionary 1165 | vital 1166 | vivacious 1167 | vivid 1168 | vocal 1169 | volcanic 1170 | voluptuous 1171 | wanted 1172 | warm 1173 | warranted 1174 | wealthy 1175 | weighty 1176 | welcome 1177 | welcomed 1178 | welcoming 1179 | well 1180 | whimsical 1181 | whole 1182 | wholesome 1183 | willing 1184 | winged 1185 | winning 1186 | winsome 1187 | wired 1188 | wise 1189 | witty 1190 | wonderful 1191 | wondrous 1192 | workable 1193 | working 1194 | worthwhile 1195 | worthy 1196 | youthful 1197 | zany 1198 | zealous 1199 | -------------------------------------------------------------------------------- /words/medium/adverbs.txt: -------------------------------------------------------------------------------- 1 | abjectly 2 | ably 3 | abnormally 4 | abruptly 5 | absently 6 | absolutely 7 | abstractedly 8 | abstractly 9 | abstrusely 10 | absurdly 11 | abundantly 12 | abusively 13 | abysmally 14 | acceptably 15 | accessibly 16 | accordingly 17 | accurately 18 | accusingly 19 | achingly 20 | acidly 21 | actively 22 | actually 23 | acutely 24 | adamantly 25 | adequately 26 | adjacently 27 | admirably 28 | admiringly 29 | admittedly 30 | adorably 31 | adoringly 32 | adroitly 33 | adversely 34 | advisedly 35 | affably 36 | affectedly 37 | affluently 38 | aggressively 39 | agilely 40 | agreeably 41 | aimlessly 42 | airily 43 | alarmingly 44 | alertly 45 | allegedly 46 | allusively 47 | alternately 48 | amazingly 49 | amiably 50 | amicably 51 | amorally 52 | amorously 53 | amorphously 54 | amply 55 | amusingly 56 | anciently 57 | angrily 58 | annoyingly 59 | annually 60 | anxiously 61 | appallingly 62 | apparently 63 | appealingly 64 | appositely 65 | approvingly 66 | aptly 67 | archaically 68 | archly 69 | ardently 70 | arduously 71 | arguably 72 | arrogantly 73 | artfully 74 | artlessly 75 | ashamedly 76 | astoundingly 77 | astutely 78 | atrociously 79 | attentively 80 | attractively 81 | audaciously 82 | audibly 83 | aurally 84 | austerely 85 | avidly 86 | avowedly 87 | awfully 88 | awkwardly 89 | badly 90 | baldly 91 | balefully 92 | barbarously 93 | barely 94 | basely 95 | bashfully 96 | basically 97 | bawdily 98 | beastly 99 | beauteously 100 | becomingly 101 | beggarly 102 | beguilingly 103 | belatedly 104 | benignly 105 | beseechingly 106 | biennially 107 | bimonthly 108 | bitingly 109 | bitterly 110 | biweekly 111 | blamelessly 112 | blandly 113 | blankly 114 | blatantly 115 | bleakly 116 | blessedly 117 | blindly 118 | blissfully 119 | blithely 120 | bloodily 121 | bloodlessly 122 | bluntly 123 | boastfully 124 | bodily 125 | boisterously 126 | boldly 127 | boorishly 128 | boringly 129 | bountifully 130 | boyishly 131 | brashly 132 | bravely 133 | brazenly 134 | breathlessly 135 | breezily 136 | briefly 137 | brightly 138 | brilliantly 139 | briskly 140 | broadly 141 | brusquely 142 | brutally 143 | brutishly 144 | buoyantly 145 | busily 146 | cagily 147 | callously 148 | calmly 149 | candidly 150 | cannily 151 | capably 152 | capaciously 153 | capriciously 154 | carefully 155 | carelessly 156 | carnally 157 | casually 158 | causally 159 | caustically 160 | cautiously 161 | ceaselessly 162 | centrally 163 | certainly 164 | chaotically 165 | charily 166 | charitably 167 | charmingly 168 | chastely 169 | chattily 170 | cheaply 171 | cheekily 172 | cheerfully 173 | cheerily 174 | cheerlessly 175 | chemically 176 | chiefly 177 | childishly 178 | chillingly 179 | chivalrously 180 | chronically 181 | churlishly 182 | circuitously 183 | civilly 184 | cleanly 185 | clearly 186 | cleverly 187 | clinically 188 | closely 189 | clownishly 190 | cloyingly 191 | clumsily 192 | coarsely 193 | cogently 194 | coherently 195 | cohesively 196 | coldly 197 | collectively 198 | comely 199 | comfortably 200 | comfortingly 201 | comically 202 | commendably 203 | commercially 204 | commonly 205 | communally 206 | compactly 207 | comparably 208 | compatibly 209 | competently 210 | complacently 211 | completely 212 | compulsively 213 | conceitedly 214 | conceivably 215 | concernedly 216 | concisely 217 | conclusively 218 | concretely 219 | concurrently 220 | confessedly 221 | confidently 222 | confidingly 223 | confusedly 224 | confusingly 225 | consciously 226 | consequently 227 | consistently 228 | constantly 229 | consummately 230 | contemptibly 231 | contentedly 232 | contingently 233 | contrarily 234 | contritely 235 | conveniently 236 | conversely 237 | convincingly 238 | convulsively 239 | coolly 240 | copiously 241 | cordially 242 | correctly 243 | corruptly 244 | cosmically 245 | courteously 246 | courtly 247 | covertly 248 | covetously 249 | cowardly 250 | coyly 251 | craftily 252 | crazily 253 | creakily 254 | creatively 255 | credibly 256 | creditably 257 | credulously 258 | criminally 259 | crisply 260 | critically 261 | crookedly 262 | crossly 263 | crucially 264 | crudely 265 | cruelly 266 | crushingly 267 | cryptically 268 | culturally 269 | cunningly 270 | curiously 271 | currently 272 | cursorily 273 | curtly 274 | cussedly 275 | cutely 276 | cynically 277 | daily 278 | daintily 279 | damnably 280 | damply 281 | dangerously 282 | daringly 283 | darkly 284 | dashingly 285 | dauntlessly 286 | dazzlingly 287 | deadly 288 | dearly 289 | deathly 290 | debonairly 291 | deceitfully 292 | decently 293 | deceptively 294 | decidedly 295 | decisively 296 | decorously 297 | deeply 298 | defectively 299 | defensively 300 | defiantly 301 | definitely 302 | deftly 303 | dejectedly 304 | delicately 305 | deliciously 306 | delightedly 307 | delightfully 308 | delinquently 309 | delusively 310 | dementedly 311 | demonstrably 312 | demurely 313 | densely 314 | dependably 315 | deplorably 316 | depressingly 317 | derisively 318 | deservedly 319 | desirably 320 | desolately 321 | despairingly 322 | desperately 323 | despondently 324 | devilishly 325 | deviously 326 | devotedly 327 | devoutly 328 | dexterously 329 | differently 330 | diffidently 331 | diffusely 332 | digitally 333 | diligently 334 | dimly 335 | dingily 336 | directly 337 | disastrously 338 | discernibly 339 | discreetly 340 | discretely 341 | disdainfully 342 | disgustedly 343 | disgustingly 344 | dishonestly 345 | disjointedly 346 | disloyally 347 | dismally 348 | disruptively 349 | dissolutely 350 | distantly 351 | distinctly 352 | distractedly 353 | disturbingly 354 | diurnally 355 | diversely 356 | divinely 357 | divisively 358 | dizzily 359 | doggedly 360 | dolefully 361 | dotingly 362 | doubly 363 | doubtfully 364 | doubtlessly 365 | dourly 366 | dowdily 367 | drably 368 | drastically 369 | dreadfully 370 | dreamily 371 | drearily 372 | drowsily 373 | drunkenly 374 | dubiously 375 | dully 376 | duly 377 | dumbly 378 | durably 379 | dutifully 380 | eagerly 381 | early 382 | earnestly 383 | earthly 384 | easily 385 | easterly 386 | eerily 387 | effectively 388 | efficiently 389 | effortlessly 390 | effusively 391 | elegantly 392 | eloquently 393 | elusively 394 | eminently 395 | enchantingly 396 | endearingly 397 | endlessly 398 | engagingly 399 | enjoyably 400 | enormously 401 | entirely 402 | enviably 403 | enviously 404 | equably 405 | equally 406 | equitably 407 | erectly 408 | eruditely 409 | especially 410 | essentially 411 | eternally 412 | ethereally 413 | ethically 414 | ethnically 415 | evasively 416 | evenly 417 | evidently 418 | evilly 419 | exactingly 420 | exactly 421 | exceedingly 422 | excellently 423 | excessively 424 | excitedly 425 | excitingly 426 | exclusively 427 | exhaustively 428 | expansively 429 | expectantly 430 | expensively 431 | expertly 432 | explicitly 433 | explosively 434 | expressively 435 | expressly 436 | exquisitely 437 | extensively 438 | externally 439 | extremely 440 | exultantly 441 | fabulously 442 | facially 443 | factually 444 | faintly 445 | fairly 446 | faithfully 447 | faithlessly 448 | fallaciously 449 | fallibly 450 | falsely 451 | falteringly 452 | famously 453 | fancifully 454 | farcically 455 | fashionably 456 | fatally 457 | fatefully 458 | fatuously 459 | faultily 460 | faultlessly 461 | fearfully 462 | fearlessly 463 | feasibly 464 | federally 465 | feebly 466 | feelingly 467 | ferociously 468 | fervently 469 | fervidly 470 | festively 471 | feverishly 472 | fiendishly 473 | fiercely 474 | filthily 475 | finally 476 | financially 477 | finely 478 | finitely 479 | firmly 480 | firstly 481 | fiscally 482 | fitfully 483 | fitly 484 | fittingly 485 | fixedly 486 | flagrantly 487 | flamboyantly 488 | flashily 489 | flatly 490 | flatteringly 491 | flawlessly 492 | fleetingly 493 | fleshly 494 | flexibly 495 | flimsily 496 | flippantly 497 | floridly 498 | fluently 499 | fondly 500 | foolishly 501 | forbiddingly 502 | forcefully 503 | forcibly 504 | forgetfully 505 | forlornly 506 | formally 507 | formerly 508 | formidably 509 | formlessly 510 | forthrightly 511 | fortuitously 512 | fortunately 513 | foully 514 | fourthly 515 | fractionally 516 | fractiously 517 | fragrantly 518 | frankly 519 | frantically 520 | fraternally 521 | fraudulently 522 | freakishly 523 | freely 524 | frenziedly 525 | frequently 526 | freshly 527 | fretfully 528 | friendly 529 | frightfully 530 | frigidly 531 | friskily 532 | frivolously 533 | frontally 534 | frostily 535 | frugally 536 | fruitfully 537 | fruitlessly 538 | fully 539 | fulsomely 540 | functionally 541 | funereally 542 | funnily 543 | furiously 544 | furtively 545 | fussily 546 | futilely 547 | gaily 548 | gainfully 549 | gallantly 550 | gamely 551 | garishly 552 | garrulously 553 | gaudily 554 | generally 555 | generously 556 | genially 557 | genteelly 558 | gently 559 | genuinely 560 | ghastly 561 | ghostly 562 | giddily 563 | gingerly 564 | girlishly 565 | glacially 566 | gladly 567 | glaringly 568 | gleefully 569 | glibly 570 | globally 571 | gloomily 572 | gloriously 573 | glowingly 574 | glumly 575 | gluttonously 576 | godly 577 | goodly 578 | gorgeously 579 | gracefully 580 | gracelessly 581 | graciously 582 | gradually 583 | grandly 584 | graphically 585 | gratefully 586 | gratifyingly 587 | gratuitously 588 | gravely 589 | greatly 590 | greedily 591 | grievously 592 | grimly 593 | grossly 594 | grotesquely 595 | groundlessly 596 | grudgingly 597 | gruesomely 598 | gruffly 599 | grumpily 600 | guardedly 601 | guilelessly 602 | guiltily 603 | haltingly 604 | handily 605 | handsomely 606 | haphazardly 607 | happily 608 | hardily 609 | hardly 610 | harmfully 611 | harmlessly 612 | harshly 613 | hastily 614 | hatefully 615 | haughtily 616 | hazily 617 | healthfully 618 | healthily 619 | heartily 620 | heartlessly 621 | heatedly 622 | heavenly 623 | heavily 624 | hectically 625 | heedlessly 626 | heinously 627 | hellishly 628 | helpfully 629 | helplessly 630 | heroically 631 | hesitantly 632 | hideously 633 | highly 634 | hoarsely 635 | hollowly 636 | holly 637 | homely 638 | honestly 639 | hopefully 640 | hopelessly 641 | horribly 642 | horridly 643 | horrifyingly 644 | hospitably 645 | hostilely 646 | hotly 647 | hourly 648 | huffily 649 | hugely 650 | humanely 651 | humanly 652 | humbly 653 | humorously 654 | hungrily 655 | hurriedly 656 | hurtfully 657 | huskily 658 | icily 659 | ideally 660 | idly 661 | ignobly 662 | ignorantly 663 | illegally 664 | illegibly 665 | illicitly 666 | immaturely 667 | immensely 668 | imminently 669 | immodestly 670 | immorally 671 | immortally 672 | immovably 673 | immutably 674 | impartially 675 | impatiently 676 | impeccably 677 | imperfectly 678 | impiously 679 | impishly 680 | implacably 681 | implausibly 682 | implicitly 683 | impolitely 684 | importantly 685 | imposingly 686 | impossibly 687 | impotently 688 | imprecisely 689 | impregnably 690 | impressively 691 | improbably 692 | improperly 693 | imprudently 694 | impudently 695 | impulsively 696 | impurely 697 | inanely 698 | inaudibly 699 | incessantly 700 | incisively 701 | inclusively 702 | incompletely 703 | incorrectly 704 | increasingly 705 | incredibly 706 | incurably 707 | indecently 708 | indelibly 709 | indignantly 710 | indirectly 711 | indiscreetly 712 | indistinctly 713 | indolently 714 | inductively 715 | indulgently 716 | ineffably 717 | ineptly 718 | inertly 719 | inexpertly 720 | infallibly 721 | infamously 722 | infinitely 723 | inflexibly 724 | informally 725 | infrequently 726 | inherently 727 | inhumanely 728 | inhumanly 729 | initially 730 | innately 731 | innocently 732 | inquiringly 733 | insanely 734 | insatiably 735 | inscrutably 736 | insecurely 737 | insensibly 738 | insincerely 739 | insipidly 740 | insistently 741 | insolently 742 | instantly 743 | insultingly 744 | intangibly 745 | integrally 746 | intensely 747 | intensively 748 | intently 749 | internally 750 | intimately 751 | intractably 752 | intrepidly 753 | intricately 754 | intriguingly 755 | intuitively 756 | inventively 757 | inversely 758 | invincibly 759 | invisibly 760 | invitingly 761 | inwardly 762 | irately 763 | irritably 764 | jaggedly 765 | jauntily 766 | jealously 767 | jeeringly 768 | jerkily 769 | jocosely 770 | jocularly 771 | jocundly 772 | jointly 773 | jokingly 774 | jolly 775 | jovially 776 | joyfully 777 | joylessly 778 | joyously 779 | jubilantly 780 | judicially 781 | judiciously 782 | justly 783 | keenly 784 | kindly 785 | kingly 786 | knightly 787 | knowingly 788 | lamely 789 | lamentably 790 | languidly 791 | languorously 792 | largely 793 | lastingly 794 | lastly 795 | lately 796 | laterally 797 | latterly 798 | laudably 799 | laughably 800 | laughingly 801 | lavishly 802 | lawfully 803 | lawlessly 804 | laxly 805 | lazily 806 | lecherously 807 | legally 808 | legibly 809 | lengthily 810 | leniently 811 | lethally 812 | lewdly 813 | liberally 814 | lightly 815 | likely 816 | limpidly 817 | limply 818 | lineally 819 | linearly 820 | lingeringly 821 | listlessly 822 | literally 823 | lithely 824 | lively 825 | lividly 826 | locally 827 | loftily 828 | logically 829 | longingly 830 | loosely 831 | lopsidedly 832 | loquaciously 833 | lordly 834 | loudly 835 | lovely 836 | lovingly 837 | lowly 838 | loyally 839 | lucidly 840 | luckily 841 | lucratively 842 | ludicrously 843 | luminously 844 | luridly 845 | lusciously 846 | lustfully 847 | lustily 848 | lyrically 849 | madly 850 | magically 851 | maidenly 852 | mainly 853 | maladroitly 854 | maliciously 855 | malignantly 856 | manfully 857 | manly 858 | mannerly 859 | manually 860 | marginally 861 | markedly 862 | masterfully 863 | masterly 864 | maternally 865 | maturely 866 | mawkishly 867 | maximally 868 | meagerly 869 | meaningfully 870 | meanly 871 | measurably 872 | medically 873 | meekly 874 | memorably 875 | menacingly 876 | menially 877 | mentally 878 | mercifully 879 | mercilessly 880 | merely 881 | merrily 882 | messily 883 | metrically 884 | mightily 885 | mildly 886 | militantly 887 | mindfully 888 | mindlessly 889 | minimally 890 | minutely 891 | mirthfully 892 | miserably 893 | misleadingly 894 | mistakenly 895 | mistily 896 | mockingly 897 | moderately 898 | modestly 899 | modishly 900 | moistly 901 | monstrously 902 | monthly 903 | moodily 904 | morally 905 | morbidly 906 | mordantly 907 | morosely 908 | mortally 909 | mostly 910 | motherly 911 | mournfully 912 | movingly 913 | mulishly 914 | multiply 915 | mundanely 916 | murderously 917 | murkily 918 | musically 919 | mutely 920 | mutinously 921 | mutually 922 | mystically 923 | naively 924 | nakedly 925 | namely 926 | narrowly 927 | nasally 928 | nastily 929 | nationally 930 | nattily 931 | naturally 932 | naughtily 933 | nautically 934 | nearly 935 | neatly 936 | needlessly 937 | negatively 938 | neglectfully 939 | negligently 940 | nervelessly 941 | nervously 942 | neutrally 943 | newly 944 | nicely 945 | nightly 946 | nimbly 947 | nobly 948 | nocturnally 949 | noiselessly 950 | noisily 951 | nominally 952 | nonchalantly 953 | normally 954 | northerly 955 | notably 956 | noticeably 957 | notionally 958 | numbly 959 | obdurately 960 | objectively 961 | obligingly 962 | obliquely 963 | obscenely 964 | obscurely 965 | observably 966 | observantly 967 | obsessively 968 | obstinately 969 | obtrusively 970 | obtusely 971 | obviously 972 | oddly 973 | odiously 974 | offensively 975 | offhandedly 976 | officially 977 | officiously 978 | ominously 979 | only 980 | opaquely 981 | openly 982 | opportunely 983 | oppressively 984 | optically 985 | optionally 986 | orally 987 | orderly 988 | ornately 989 | ostensibly 990 | outlandishly 991 | outspokenly 992 | outwardly 993 | overly 994 | overtly 995 | owlishly 996 | painfully 997 | painlessly 998 | palpably 999 | pardonably 1000 | partially 1001 | partly 1002 | patchily 1003 | patently 1004 | paternally 1005 | patiently 1006 | peaceably 1007 | peacefully 1008 | peevishly 1009 | penitently 1010 | pensively 1011 | perceptibly 1012 | perceptively 1013 | perfectly 1014 | perilously 1015 | perkily 1016 | permanently 1017 | permissibly 1018 | permissively 1019 | perniciously 1020 | perplexedly 1021 | persistently 1022 | personally 1023 | pertinently 1024 | pertly 1025 | pervasively 1026 | perversely 1027 | pettily 1028 | petulantly 1029 | physically 1030 | piercingly 1031 | piously 1032 | piquantly 1033 | piteously 1034 | pithily 1035 | pitiably 1036 | pitifully 1037 | pitilessly 1038 | pityingly 1039 | placidly 1040 | plainly 1041 | plaintively 1042 | plausibly 1043 | playfully 1044 | pleadingly 1045 | pleasantly 1046 | pleasingly 1047 | pleasurably 1048 | plentifully 1049 | pliantly 1050 | poetically 1051 | poignantly 1052 | pointedly 1053 | pointlessly 1054 | poisonously 1055 | politely 1056 | pompously 1057 | ponderously 1058 | poorly 1059 | popularly 1060 | portentously 1061 | positively 1062 | possessively 1063 | possibly 1064 | posthumously 1065 | potentially 1066 | potently 1067 | powerfully 1068 | powerlessly 1069 | practically 1070 | preciously 1071 | precisely 1072 | precociously 1073 | predictably 1074 | preferably 1075 | prematurely 1076 | presently 1077 | presumably 1078 | prettily 1079 | previously 1080 | primarily 1081 | primitively 1082 | primly 1083 | princely 1084 | principally 1085 | prissily 1086 | privately 1087 | probably 1088 | prodigally 1089 | productively 1090 | profanely 1091 | proficiently 1092 | profitably 1093 | profoundly 1094 | profusely 1095 | prominently 1096 | promisingly 1097 | promptly 1098 | properly 1099 | prosaically 1100 | protectively 1101 | proudly 1102 | provably 1103 | providently 1104 | provincially 1105 | prudently 1106 | prudishly 1107 | pruriently 1108 | psychically 1109 | publicly 1110 | pugnaciously 1111 | punctually 1112 | pungently 1113 | punitively 1114 | purely 1115 | purposely 1116 | quaintly 1117 | quarterly 1118 | queasily 1119 | queerly 1120 | querulously 1121 | questionably 1122 | quickly 1123 | quietly 1124 | quizzically 1125 | rabidly 1126 | racially 1127 | racily 1128 | radially 1129 | radiantly 1130 | radically 1131 | raggedly 1132 | rakishly 1133 | rampantly 1134 | rancorously 1135 | randomly 1136 | rapaciously 1137 | rapidly 1138 | rapturously 1139 | rarely 1140 | rashly 1141 | rationally 1142 | raucously 1143 | ravenously 1144 | ravishingly 1145 | readily 1146 | really 1147 | reasonably 1148 | recently 1149 | receptively 1150 | recklessly 1151 | redundantly 1152 | reflectively 1153 | reflexively 1154 | refreshingly 1155 | regally 1156 | regionally 1157 | regretfully 1158 | regrettably 1159 | regularly 1160 | relentlessly 1161 | relevantly 1162 | reliably 1163 | reluctantly 1164 | remarkably 1165 | remotely 1166 | repeatedly 1167 | reportedly 1168 | repressively 1169 | reprovingly 1170 | repulsively 1171 | reputably 1172 | reputedly 1173 | resentfully 1174 | reservedly 1175 | resignedly 1176 | resolutely 1177 | resonantly 1178 | resoundingly 1179 | respectably 1180 | respectfully 1181 | respectively 1182 | responsibly 1183 | responsively 1184 | restfully 1185 | restively 1186 | restlessly 1187 | reticently 1188 | reverently 1189 | revoltingly 1190 | rhythmically 1191 | richly 1192 | righteously 1193 | rightfully 1194 | rightly 1195 | rigidly 1196 | rigorously 1197 | riotously 1198 | ripely 1199 | ritually 1200 | robustly 1201 | roguishly 1202 | rosily 1203 | roughly 1204 | roundly 1205 | routinely 1206 | rowdily 1207 | royally 1208 | rudely 1209 | ruefully 1210 | ruggedly 1211 | ruinously 1212 | rustically 1213 | ruthlessly 1214 | sacredly 1215 | sadly 1216 | safely 1217 | sagaciously 1218 | sagely 1219 | salaciously 1220 | sanely 1221 | satisfyingly 1222 | saucily 1223 | savagely 1224 | scandalously 1225 | scantily 1226 | scarcely 1227 | scornfully 1228 | screamingly 1229 | scrupulously 1230 | scurrilously 1231 | searchingly 1232 | seasonally 1233 | secondly 1234 | secretively 1235 | secretly 1236 | securely 1237 | sedately 1238 | seductively 1239 | seemingly 1240 | seemly 1241 | selectively 1242 | selfishly 1243 | selflessly 1244 | senselessly 1245 | sensibly 1246 | sensitively 1247 | sensually 1248 | sensuously 1249 | separately 1250 | sequentially 1251 | serenely 1252 | serially 1253 | seriously 1254 | severally 1255 | severely 1256 | shabbily 1257 | shakily 1258 | shallowly 1259 | shamefully 1260 | shamelessly 1261 | shapelessly 1262 | sharply 1263 | sheepishly 1264 | shiftily 1265 | shockingly 1266 | shoddily 1267 | shortly 1268 | showily 1269 | shrewdly 1270 | shrilly 1271 | shyly 1272 | sickeningly 1273 | sickly 1274 | signally 1275 | silently 1276 | similarly 1277 | simply 1278 | sincerely 1279 | sinfully 1280 | singly 1281 | singularly 1282 | sinuously 1283 | sketchily 1284 | skittishly 1285 | slackly 1286 | slavishly 1287 | sleekly 1288 | sleepily 1289 | sleeplessly 1290 | slickly 1291 | slightly 1292 | sloppily 1293 | slovenly 1294 | slowly 1295 | sluggishly 1296 | slyly 1297 | smartly 1298 | smilingly 1299 | smoothly 1300 | smugly 1301 | snappishly 1302 | sneakily 1303 | sneeringly 1304 | snidely 1305 | snobbishly 1306 | snugly 1307 | soberly 1308 | sociably 1309 | socially 1310 | softly 1311 | solely 1312 | solemnly 1313 | solidly 1314 | sonorously 1315 | soothingly 1316 | sordidly 1317 | sorely 1318 | sorrowfully 1319 | soulfully 1320 | soundlessly 1321 | soundly 1322 | sourly 1323 | southerly 1324 | spaciously 1325 | sparely 1326 | sparingly 1327 | sparsely 1328 | spatially 1329 | specially 1330 | speciously 1331 | speechlessly 1332 | speedily 1333 | spirally 1334 | spiritedly 1335 | spitefully 1336 | splendidly 1337 | spotlessly 1338 | spuriously 1339 | squarely 1340 | squeamishly 1341 | stably 1342 | staggeringly 1343 | staidly 1344 | stalwartly 1345 | starkly 1346 | startlingly 1347 | stately 1348 | statically 1349 | staunchly 1350 | steadfastly 1351 | steadily 1352 | stealthily 1353 | steeply 1354 | sternly 1355 | stiffly 1356 | stiltedly 1357 | stingily 1358 | stirringly 1359 | stockily 1360 | stoically 1361 | stolidly 1362 | stonily 1363 | stormily 1364 | stoutly 1365 | strangely 1366 | strenuously 1367 | strictly 1368 | stridently 1369 | strikingly 1370 | stringently 1371 | strongly 1372 | structurally 1373 | stubbornly 1374 | studiously 1375 | stuffily 1376 | stunningly 1377 | stupendously 1378 | stupidly 1379 | sturdily 1380 | stylishly 1381 | suavely 1382 | subjectively 1383 | sublimely 1384 | submissively 1385 | subsequently 1386 | subtly 1387 | successfully 1388 | successively 1389 | succinctly 1390 | suddenly 1391 | sufficiently 1392 | suggestively 1393 | suitably 1394 | sulkily 1395 | sullenly 1396 | summarily 1397 | sumptuously 1398 | superbly 1399 | supinely 1400 | supposedly 1401 | supremely 1402 | surely 1403 | surgically 1404 | surprisingly 1405 | sweetly 1406 | swiftly 1407 | swimmingly 1408 | tacitly 1409 | tactfully 1410 | tactically 1411 | tactlessly 1412 | tally 1413 | tamely 1414 | tangibly 1415 | tardily 1416 | tartly 1417 | tastefully 1418 | tastelessly 1419 | tautly 1420 | tearfully 1421 | teasingly 1422 | technically 1423 | tediously 1424 | tellingly 1425 | temporally 1426 | temptingly 1427 | tenaciously 1428 | tenderly 1429 | tensely 1430 | tentatively 1431 | tenuously 1432 | terminally 1433 | termly 1434 | terribly 1435 | tersely 1436 | testily 1437 | textually 1438 | thankfully 1439 | thanklessly 1440 | theatrically 1441 | thermally 1442 | thickly 1443 | thinly 1444 | thirdly 1445 | thirstily 1446 | thoroughly 1447 | thoughtfully 1448 | thriftily 1449 | thrillingly 1450 | thunderously 1451 | tidily 1452 | tightly 1453 | timely 1454 | timidly 1455 | timorously 1456 | tipsily 1457 | tiredly 1458 | tirelessly 1459 | tiresomely 1460 | tolerably 1461 | tolerantly 1462 | tonelessly 1463 | topically 1464 | torpidly 1465 | tortuously 1466 | totally 1467 | touchily 1468 | touchingly 1469 | toughly 1470 | tragically 1471 | traitorously 1472 | tranquilly 1473 | transitively 1474 | tremendously 1475 | tremulously 1476 | trenchantly 1477 | trimly 1478 | triply 1479 | tritely 1480 | triumphantly 1481 | trivially 1482 | truculently 1483 | truly 1484 | truthfully 1485 | tunefully 1486 | tunelessly 1487 | turbulently 1488 | turgidly 1489 | typically 1490 | ultimately 1491 | unarguably 1492 | unbearably 1493 | unblinkingly 1494 | uncannily 1495 | unceasingly 1496 | uncertainly 1497 | uncleanly 1498 | uncommonly 1499 | unctuously 1500 | undoubtedly 1501 | unduly 1502 | uneasily 1503 | unequally 1504 | unerringly 1505 | unevenly 1506 | unfailingly 1507 | unfairly 1508 | unfaithfully 1509 | unfeelingly 1510 | ungainly 1511 | ungodly 1512 | ungraciously 1513 | unhappily 1514 | unhelpfully 1515 | unholy 1516 | unhurriedly 1517 | uniformly 1518 | uniquely 1519 | unjustly 1520 | unkindly 1521 | unknowingly 1522 | unlawfully 1523 | unlikely 1524 | unluckily 1525 | unmanly 1526 | unpleasantly 1527 | unseemly 1528 | unselfishly 1529 | unspeakably 1530 | unsteadily 1531 | unstintingly 1532 | unthinkingly 1533 | untidily 1534 | untimely 1535 | untruthfully 1536 | unwillingly 1537 | unwisely 1538 | unwittingly 1539 | upwardly 1540 | urbanely 1541 | urgently 1542 | usefully 1543 | uselessly 1544 | usually 1545 | utterly 1546 | vacantly 1547 | vacuously 1548 | vaguely 1549 | vainly 1550 | valiantly 1551 | validly 1552 | variably 1553 | variously 1554 | vastly 1555 | vehemently 1556 | venally 1557 | vengefully 1558 | venomously 1559 | verbally 1560 | verbosely 1561 | verily 1562 | veritably 1563 | vertically 1564 | viciously 1565 | vigilantly 1566 | vigorously 1567 | vilely 1568 | vindictively 1569 | violently 1570 | virtually 1571 | virtuously 1572 | virulently 1573 | visibly 1574 | visually 1575 | vitally 1576 | vivaciously 1577 | vividly 1578 | vocally 1579 | volubly 1580 | voraciously 1581 | vulgarly 1582 | vulnerably 1583 | wanly 1584 | wantonly 1585 | warily 1586 | warmly 1587 | waspishly 1588 | watchfully 1589 | waywardly 1590 | weakly 1591 | wearily 1592 | weekly 1593 | weightily 1594 | weirdly 1595 | westerly 1596 | wheezily 1597 | whimsically 1598 | wholly 1599 | wickedly 1600 | widely 1601 | wildly 1602 | willingly 1603 | winsomely 1604 | wisely 1605 | wishfully 1606 | wistfully 1607 | witheringly 1608 | witlessly 1609 | wittily 1610 | wittingly 1611 | woefully 1612 | womanly 1613 | wonderfully 1614 | wonderingly 1615 | wondrously 1616 | woodenly 1617 | wordlessly 1618 | worldly 1619 | worriedly 1620 | worryingly 1621 | worthily 1622 | wrathfully 1623 | wretchedly 1624 | wrongfully 1625 | wrongly 1626 | wryly 1627 | yearly 1628 | youthfully 1629 | zealously 1630 | zestfully 1631 | -------------------------------------------------------------------------------- /words/medium/nouns.txt: -------------------------------------------------------------------------------- 1 | aardvark 2 | aardwolf 3 | accentor 4 | adder 5 | adjutant 6 | admiral 7 | agama 8 | agouti 9 | airedale 10 | akita 11 | albacore 12 | albatross 13 | alewife 14 | alien 15 | alligator 16 | alpaca 17 | amberjack 18 | amoeba 19 | amphibian 20 | anaconda 21 | anchovy 22 | anemone 23 | angelfish 24 | angler 25 | anglerfish 26 | angora 27 | anhinga 28 | anoa 29 | ant 30 | anteater 31 | antelope 32 | antlion 33 | ape 34 | aphid 35 | arachnid 36 | arapaima 37 | archerfish 38 | armadillo 39 | asp 40 | auk 41 | avocet 42 | axolotl 43 | baboon 44 | badger 45 | bandicoot 46 | barbel 47 | barbet 48 | barnacle 49 | barracuda 50 | basilisk 51 | bass 52 | basset 53 | bat 54 | batfish 55 | beagle 56 | bear 57 | bedbug 58 | bee 59 | beetle 60 | bellbird 61 | bengal 62 | beta 63 | bettong 64 | bigeye 65 | billfish 66 | binturong 67 | bird 68 | bison 69 | bitterling 70 | bittern 71 | blackbird 72 | blackbuck 73 | blackcap 74 | blackfish 75 | blenny 76 | blesbok 77 | bloodhound 78 | blowfish 79 | bluebill 80 | bluebird 81 | bluefish 82 | bluegill 83 | bluejay 84 | boa 85 | boar 86 | boarfish 87 | boatbill 88 | bobcat 89 | bobolink 90 | bobwhite 91 | bonefish 92 | bongo 93 | bonito 94 | bonobo 95 | bontebok 96 | booklouse 97 | borer 98 | bowerbird 99 | bowfin 100 | boxer 101 | boxfish 102 | brambling 103 | bream 104 | brill 105 | broadbill 106 | brocket 107 | buck 108 | budgerigar 109 | buffalo 110 | bufflehead 111 | bug 112 | bulbul 113 | bull 114 | bulldog 115 | bullfinch 116 | bullfrog 117 | bullhead 118 | bullsnake 119 | bumblebee 120 | bunny 121 | bunting 122 | burbot 123 | burro 124 | bushbuck 125 | bustard 126 | butcherbird 127 | butterfish 128 | butterfly 129 | buzzard 130 | caiman 131 | calf 132 | camel 133 | candlefish 134 | cankerworm 135 | canvasback 136 | capelin 137 | capuchin 138 | capybara 139 | caracal 140 | caracara 141 | cardinal 142 | caribou 143 | carp 144 | cassowary 145 | cat 146 | catbird 147 | caterpillar 148 | catfish 149 | cattle 150 | centipede 151 | cephalopod 152 | chaffinch 153 | chameleon 154 | chamois 155 | char 156 | cheetah 157 | chickadee 158 | chicken 159 | chiffchaff 160 | chigger 161 | chihuahua 162 | chimaera 163 | chimp 164 | chimpanzee 165 | chinchilla 166 | chinook 167 | chipmunk 168 | chow 169 | chub 170 | chuckwalla 171 | cicada 172 | cichlid 173 | cisco 174 | civet 175 | clam 176 | clingfish 177 | coati 178 | coatimundi 179 | cobia 180 | cobra 181 | cockatoo 182 | cockroach 183 | cod 184 | codling 185 | coelacanth 186 | collie 187 | colobus 188 | colt 189 | condor 190 | conger 191 | constrictor 192 | cony 193 | coonhound 194 | copperhead 195 | coral 196 | corgi 197 | cormorant 198 | cotinga 199 | cottonmouth 200 | cougar 201 | courser 202 | cow 203 | cowbird 204 | cowfish 205 | coyote 206 | crab 207 | crake 208 | crane 209 | crappie 210 | crawdad 211 | crayfish 212 | creeper 213 | cricket 214 | croaker 215 | crocodile 216 | crossbill 217 | crow 218 | cub 219 | cuckoo 220 | curassow 221 | curlew 222 | cusk 223 | cuttlefish 224 | dabchick 225 | dace 226 | dachshund 227 | dalmatian 228 | damselfish 229 | damselfly 230 | dane 231 | darter 232 | dassie 233 | dealfish 234 | deer 235 | deerhound 236 | dhole 237 | diamondback 238 | dingo 239 | dinosaur 240 | diplodocus 241 | dipper 242 | diver 243 | doberman 244 | dobsonfly 245 | dodo 246 | doe 247 | dog 248 | dogfish 249 | dolphin 250 | dormouse 251 | dory 252 | dotterel 253 | dove 254 | dowitcher 255 | dragon 256 | dragonet 257 | dragonfly 258 | drake 259 | drongo 260 | drum 261 | duck 262 | duckbill 263 | duckling 264 | dugong 265 | dunlin 266 | dunnock 267 | eagle 268 | earthworm 269 | earwig 270 | echidna 271 | eel 272 | eelpout 273 | eft 274 | egret 275 | eland 276 | elasmobranch 277 | elephant 278 | elf 279 | elk 280 | elver 281 | emperor 282 | emu 283 | ermine 284 | escargot 285 | escolar 286 | euglena 287 | eulachon 288 | ewe 289 | falcon 290 | falconet 291 | fantail 292 | fawn 293 | feline 294 | fennec 295 | ferret 296 | fieldfare 297 | fieldmouse 298 | filefish 299 | filly 300 | finch 301 | finfoot 302 | fireback 303 | firebrat 304 | firefly 305 | fish 306 | fisher 307 | flamingo 308 | flatfish 309 | flathead 310 | flea 311 | flounder 312 | fly 313 | flycatcher 314 | foal 315 | fossa 316 | fowl 317 | fox 318 | foxhound 319 | frog 320 | frogfish 321 | frogmouth 322 | fulmar 323 | gadwall 324 | gallinule 325 | gannet 326 | gar 327 | garfish 328 | garganey 329 | garpike 330 | gator 331 | gaur 332 | gazelle 333 | gecko 334 | gelding 335 | gemsbok 336 | genet 337 | gerbil 338 | gerenuk 339 | ghost 340 | ghoul 341 | gibbon 342 | giraffe 343 | glassfish 344 | glider 345 | glowworm 346 | gnat 347 | gnatcatcher 348 | gnu 349 | goat 350 | goatfish 351 | gobbler 352 | goblin 353 | goby 354 | godwit 355 | goldcrest 356 | goldeneye 357 | goldfinch 358 | goldfish 359 | goose 360 | goosefish 361 | gopher 362 | gorilla 363 | goshawk 364 | gourami 365 | grackle 366 | grasshopper 367 | grayling 368 | grebe 369 | greenfinch 370 | greenling 371 | greenshank 372 | grenadier 373 | greyhound 374 | griffon 375 | grison 376 | grizzly 377 | grosbeak 378 | groundhog 379 | grouper 380 | grouse 381 | grub 382 | grubworm 383 | grunt 384 | grunter 385 | guan 386 | guanaco 387 | gudgeon 388 | guillemot 389 | guinea 390 | guineapig 391 | guitarfish 392 | gull 393 | gunnel 394 | guppy 395 | gurnard 396 | gyrfalcon 397 | haddock 398 | hagfish 399 | hairtail 400 | hake 401 | halfbeak 402 | halibut 403 | hammerhead 404 | hamster 405 | hare 406 | harrier 407 | hartebeest 408 | hawfinch 409 | hawk 410 | hedgehog 411 | hen 412 | hermit 413 | heron 414 | herring 415 | hippo 416 | hoatzin 417 | hog 418 | honeybee 419 | hookworm 420 | hoopoe 421 | hornbill 422 | hornet 423 | horntail 424 | horse 425 | hound 426 | houndshark 427 | human 428 | hummingbird 429 | humpback 430 | husky 431 | hyena 432 | hyrax 433 | ibex 434 | ibis 435 | ichthyosaur 436 | iguana 437 | iguanodon 438 | imp 439 | impala 440 | insect 441 | jabiru 442 | jacamar 443 | jackal 444 | jackdaw 445 | jackrabbit 446 | jaeger 447 | jaguar 448 | jaguarundi 449 | javelin 450 | javelina 451 | jawfish 452 | jay 453 | jaybird 454 | jellyfish 455 | jennet 456 | jerboa 457 | jewfish 458 | joey 459 | junco 460 | kagu 461 | kakapo 462 | kalong 463 | kangaroo 464 | katydid 465 | kea 466 | kelpie 467 | kestrel 468 | kid 469 | killdeer 470 | killifish 471 | kingbird 472 | kingfish 473 | kingfisher 474 | kinglet 475 | kingsnake 476 | kinkajou 477 | kit 478 | kite 479 | kitten 480 | kittiwake 481 | kiwi 482 | klipspringer 483 | koala 484 | kodiak 485 | koel 486 | koi 487 | kookaburra 488 | krait 489 | krill 490 | kudu 491 | lab 492 | labrador 493 | lacewing 494 | ladybeetle 495 | ladybird 496 | ladybug 497 | lagomorph 498 | lamb 499 | lamprey 500 | langur 501 | lanternfish 502 | lapwing 503 | lark 504 | leafcutter 505 | leafhopper 506 | leafroller 507 | leech 508 | lemming 509 | lemur 510 | leopard 511 | leopardess 512 | liger 513 | limpet 514 | limpkin 515 | ling 516 | linnet 517 | lion 518 | lioness 519 | lionfish 520 | livebearer 521 | lizard 522 | lizardfish 523 | llama 524 | loach 525 | lobster 526 | locust 527 | longhorn 528 | longspur 529 | loon 530 | lorikeet 531 | loris 532 | louse 533 | louvar 534 | lumpsucker 535 | lungfish 536 | lynx 537 | lyrebird 538 | macaque 539 | macaw 540 | mackerel 541 | maggot 542 | magpie 543 | mako 544 | malamute 545 | mallard 546 | mamba 547 | mammal 548 | mammoth 549 | manakin 550 | manatee 551 | mandrill 552 | manta 553 | mantis 554 | mara 555 | mare 556 | margay 557 | markhor 558 | marlin 559 | marmoset 560 | marmot 561 | marsupial 562 | marten 563 | martin 564 | mastiff 565 | mastodon 566 | mayfly 567 | meadowlark 568 | mealworm 569 | meerkat 570 | menhaden 571 | merganser 572 | merlin 573 | midge 574 | millipede 575 | minivet 576 | mink 577 | minnow 578 | mite 579 | moccasin 580 | mockingbird 581 | mola 582 | mole 583 | mollusk 584 | molly 585 | monarch 586 | mongoose 587 | mongrel 588 | monitor 589 | monkey 590 | monkfish 591 | monster 592 | mooneye 593 | moonfish 594 | moorhen 595 | moose 596 | moray 597 | mosquito 598 | moth 599 | motmot 600 | mouflon 601 | mouse 602 | mudfish 603 | mudskipper 604 | mudsucker 605 | mule 606 | mullet 607 | murre 608 | murrelet 609 | muskellunge 610 | muskox 611 | muskrat 612 | mustang 613 | mutt 614 | mynah 615 | naiad 616 | narwhal 617 | neanderthal 618 | needlefish 619 | newfoundland 620 | newt 621 | nightcrawler 622 | nighthawk 623 | nightingale 624 | nightjar 625 | nilgai 626 | nit 627 | numbat 628 | nutcracker 629 | nuthatch 630 | nutria 631 | nyala 632 | oarfish 633 | ocelot 634 | octopus 635 | oilbird 636 | okapi 637 | oldwife 638 | onager 639 | opah 640 | opossum 641 | orangutan 642 | orca 643 | oriole 644 | oryx 645 | osprey 646 | ostrich 647 | otter 648 | ouzel 649 | ovenbird 650 | owl 651 | owlet 652 | ox 653 | oxpecker 654 | oyster 655 | paddlefish 656 | pademelon 657 | panda 658 | pangolin 659 | panther 660 | papillon 661 | parakeet 662 | parrot 663 | parrotfish 664 | partridge 665 | passerine 666 | peacock 667 | peafowl 668 | peccary 669 | pegasus 670 | pekingese 671 | pelican 672 | penguin 673 | perch 674 | petrel 675 | pewee 676 | phalarope 677 | pheasant 678 | phoebe 679 | phoenix 680 | pickerel 681 | pig 682 | pigeon 683 | pigfish 684 | piglet 685 | pika 686 | pike 687 | pilchard 688 | pinniped 689 | pinscher 690 | pintail 691 | pipefish 692 | pipit 693 | piranha 694 | pitta 695 | plaice 696 | planarian 697 | planthopper 698 | platy 699 | platypus 700 | plover 701 | poacher 702 | pochard 703 | pointer 704 | polecat 705 | polliwog 706 | pollock 707 | pomfret 708 | pompano 709 | pony 710 | poodle 711 | porcupine 712 | porgy 713 | porpoise 714 | possum 715 | potoroo 716 | pratincole 717 | prawn 718 | primate 719 | pronghorn 720 | protozoa 721 | ptarmigan 722 | puffer 723 | pufferfish 724 | puffin 725 | pug 726 | puma 727 | pumpkinseed 728 | pup 729 | python 730 | quagga 731 | quahog 732 | quail 733 | quetzal 734 | rabbit 735 | rabbitfish 736 | raccoon 737 | racer 738 | ram 739 | raptor 740 | rat 741 | ratel 742 | rattail 743 | rattler 744 | rattlesnake 745 | raven 746 | ray 747 | razorbill 748 | razorfish 749 | redbird 750 | redfish 751 | redhead 752 | redpoll 753 | redshank 754 | redstart 755 | reedbuck 756 | reindeer 757 | remora 758 | reptile 759 | retriever 760 | rhea 761 | rhino 762 | rhinoceros 763 | ribbonfish 764 | ridgeback 765 | ringtail 766 | roach 767 | roadrunner 768 | robin 769 | rockfish 770 | rockhopper 771 | rockling 772 | rodent 773 | roller 774 | rook 775 | rooster 776 | rottweiler 777 | roughy 778 | roundworm 779 | rudd 780 | rudderfish 781 | ruff 782 | sabertooth 783 | sablefish 784 | sailfish 785 | salamander 786 | salmon 787 | sambar 788 | sanderling 789 | sandfish 790 | sandgrouse 791 | sandpiper 792 | sapsucker 793 | sardine 794 | sasquatch 795 | satyr 796 | sauger 797 | saury 798 | sawfish 799 | sawfly 800 | scad 801 | scallop 802 | schnauzer 803 | scorpion 804 | scorpionfish 805 | scoter 806 | screamer 807 | sculpin 808 | scup 809 | seagull 810 | seahorse 811 | seal 812 | seasnail 813 | seriema 814 | serval 815 | setter 816 | shad 817 | shark 818 | sharksucker 819 | shearwater 820 | sheatfish 821 | sheathbill 822 | sheep 823 | sheepdog 824 | sheepshead 825 | shelduck 826 | shepherd 827 | shiner 828 | shoebill 829 | shoveler 830 | shrew 831 | shrike 832 | shrimp 833 | sicklebill 834 | sidewinder 835 | silkworm 836 | silverfish 837 | silverside 838 | siskin 839 | skate 840 | skater 841 | skimmer 842 | skink 843 | skua 844 | skunk 845 | skylark 846 | sleeper 847 | sloth 848 | slug 849 | smelt 850 | smew 851 | snail 852 | snailfish 853 | snake 854 | snapper 855 | snipe 856 | snipefish 857 | snook 858 | soldierfish 859 | sole 860 | sora 861 | sow 862 | spadefish 863 | spaniel 864 | sparrow 865 | sparrowhawk 866 | spearfish 867 | spider 868 | spidermonkey 869 | spittlebug 870 | spitz 871 | sponge 872 | spoonbill 873 | sprat 874 | springbok 875 | springbuck 876 | springer 877 | springtail 878 | squeaker 879 | squid 880 | squirrel 881 | squirrelfish 882 | stag 883 | staghound 884 | stallion 885 | starfish 886 | stargazer 887 | starling 888 | steelhead 889 | steenbok 890 | stickleback 891 | stilt 892 | stingray 893 | stinkbug 894 | stint 895 | stoat 896 | stonechat 897 | stonefish 898 | stork 899 | stud 900 | sturgeon 901 | sunbeam 902 | sunbird 903 | sunfish 904 | surfbird 905 | surfperch 906 | surgeonfish 907 | suricate 908 | swan 909 | sweeper 910 | swift 911 | swiftlet 912 | swordfish 913 | swordtail 914 | sylph 915 | tadpole 916 | tahr 917 | tailorbird 918 | taipan 919 | takin 920 | tamandua 921 | tamarin 922 | tanager 923 | tapir 924 | tarantula 925 | tardigrade 926 | tarpon 927 | tarsier 928 | tattler 929 | tayra 930 | teal 931 | tench 932 | tenpounder 933 | tenrec 934 | tern 935 | terrapin 936 | terrier 937 | tetra 938 | thornbill 939 | thorntail 940 | thrasher 941 | threadfin 942 | thrush 943 | tick 944 | tiger 945 | tigerfish 946 | tilapia 947 | tilefish 948 | tinamou 949 | titmouse 950 | toad 951 | toadfish 952 | tody 953 | tomcat 954 | topi 955 | topminnow 956 | tortoise 957 | toucan 958 | towhee 959 | tragopan 960 | treefrog 961 | trembler 962 | triggerfish 963 | tripletail 964 | trogon 965 | troll 966 | trout 967 | trumpeter 968 | trumpetfish 969 | trunkfish 970 | tuatara 971 | tuna 972 | tunny 973 | turaco 974 | turbot 975 | turkey 976 | turnstone 977 | turtle 978 | unicorn 979 | urchin 980 | urial 981 | veery 982 | velvetbreast 983 | vendace 984 | verdin 985 | vervet 986 | vicuna 987 | violetear 988 | viper 989 | vireo 990 | vizcacha 991 | vole 992 | vulture 993 | wagtail 994 | wahoo 995 | wallaby 996 | wallaroo 997 | walleye 998 | walrus 999 | wapiti 1000 | warbler 1001 | warmouth 1002 | warthog 1003 | wasp 1004 | waterbear 1005 | waterbuck 1006 | waterfowl 1007 | wattlebird 1008 | waxbill 1009 | waxwing 1010 | weasel 1011 | weevil 1012 | weimaraner 1013 | weka 1014 | werewolf 1015 | whale 1016 | wheatear 1017 | whimbrel 1018 | whippet 1019 | whippoorwill 1020 | whipsnake 1021 | whistler 1022 | whitebait 1023 | whitefish 1024 | whitefly 1025 | whitethroat 1026 | whiting 1027 | whydah 1028 | wigeon 1029 | wildcat 1030 | wildebeest 1031 | wildfowl 1032 | willet 1033 | wolf 1034 | wolffish 1035 | wolfhound 1036 | wolverine 1037 | wombat 1038 | woodchuck 1039 | woodcock 1040 | woodcreeper 1041 | woodlouse 1042 | woodpecker 1043 | worm 1044 | wrasse 1045 | wren 1046 | wryneck 1047 | yak 1048 | yellowhammer 1049 | yellowtail 1050 | yellowthroat 1051 | yeti 1052 | zander 1053 | zebra 1054 | zebu 1055 | zingel 1056 | zorilla 1057 | -------------------------------------------------------------------------------- /words/small/adjectives.txt: -------------------------------------------------------------------------------- 1 | able 2 | above 3 | absolute 4 | accepted 5 | accurate 6 | ace 7 | active 8 | actual 9 | adapted 10 | adapting 11 | adequate 12 | adjusted 13 | advanced 14 | alert 15 | alive 16 | allowed 17 | allowing 18 | amazed 19 | amazing 20 | ample 21 | amused 22 | amusing 23 | apparent 24 | apt 25 | arriving 26 | artistic 27 | assured 28 | assuring 29 | awaited 30 | awake 31 | aware 32 | balanced 33 | becoming 34 | beloved 35 | better 36 | big 37 | blessed 38 | bold 39 | boss 40 | brave 41 | brief 42 | bright 43 | bursting 44 | busy 45 | calm 46 | capable 47 | capital 48 | careful 49 | caring 50 | casual 51 | causal 52 | central 53 | certain 54 | champion 55 | charmed 56 | charming 57 | cheerful 58 | chief 59 | choice 60 | civil 61 | classic 62 | clean 63 | clear 64 | clever 65 | climbing 66 | close 67 | closing 68 | coherent 69 | comic 70 | communal 71 | complete 72 | composed 73 | concise 74 | concrete 75 | content 76 | cool 77 | correct 78 | cosmic 79 | crack 80 | creative 81 | credible 82 | crisp 83 | crucial 84 | cuddly 85 | cunning 86 | curious 87 | current 88 | cute 89 | daring 90 | darling 91 | dashing 92 | dear 93 | decent 94 | deciding 95 | deep 96 | definite 97 | delicate 98 | desired 99 | destined 100 | devoted 101 | direct 102 | discrete 103 | distinct 104 | diverse 105 | divine 106 | dominant 107 | driven 108 | driving 109 | dynamic 110 | eager 111 | easy 112 | electric 113 | elegant 114 | emerging 115 | eminent 116 | enabled 117 | enabling 118 | endless 119 | engaged 120 | engaging 121 | enhanced 122 | enjoyed 123 | enormous 124 | enough 125 | epic 126 | equal 127 | equipped 128 | eternal 129 | ethical 130 | evident 131 | evolved 132 | evolving 133 | exact 134 | excited 135 | exciting 136 | exotic 137 | expert 138 | factual 139 | fair 140 | faithful 141 | famous 142 | fancy 143 | fast 144 | feasible 145 | fine 146 | finer 147 | firm 148 | first 149 | fit 150 | fitting 151 | fleet 152 | flexible 153 | flowing 154 | fluent 155 | flying 156 | fond 157 | frank 158 | free 159 | fresh 160 | full 161 | fun 162 | funky 163 | funny 164 | game 165 | generous 166 | gentle 167 | genuine 168 | giving 169 | glad 170 | glorious 171 | glowing 172 | golden 173 | good 174 | gorgeous 175 | grand 176 | grateful 177 | great 178 | growing 179 | grown 180 | guided 181 | guiding 182 | handy 183 | happy 184 | hardy 185 | harmless 186 | healthy 187 | helped 188 | helpful 189 | helping 190 | heroic 191 | hip 192 | holy 193 | honest 194 | hopeful 195 | hot 196 | huge 197 | humane 198 | humble 199 | humorous 200 | ideal 201 | immense 202 | immortal 203 | immune 204 | improved 205 | in 206 | included 207 | infinite 208 | informed 209 | innocent 210 | inspired 211 | integral 212 | intense 213 | intent 214 | internal 215 | intimate 216 | inviting 217 | joint 218 | just 219 | keen 220 | key 221 | kind 222 | knowing 223 | known 224 | large 225 | lasting 226 | leading 227 | learning 228 | legal 229 | legible 230 | lenient 231 | liberal 232 | light 233 | liked 234 | literate 235 | live 236 | living 237 | logical 238 | loved 239 | loving 240 | loyal 241 | lucky 242 | magical 243 | magnetic 244 | main 245 | major 246 | many 247 | massive 248 | master 249 | mature 250 | maximum 251 | measured 252 | meet 253 | merry 254 | mighty 255 | mint 256 | model 257 | modern 258 | modest 259 | moral 260 | more 261 | moved 262 | moving 263 | musical 264 | mutual 265 | national 266 | native 267 | natural 268 | nearby 269 | neat 270 | needed 271 | neutral 272 | new 273 | next 274 | nice 275 | noble 276 | normal 277 | notable 278 | noted 279 | novel 280 | obliging 281 | on 282 | one 283 | open 284 | optimal 285 | optimum 286 | organic 287 | oriented 288 | outgoing 289 | patient 290 | peaceful 291 | perfect 292 | pet 293 | picked 294 | pleasant 295 | pleased 296 | pleasing 297 | poetic 298 | polished 299 | polite 300 | popular 301 | positive 302 | possible 303 | powerful 304 | precious 305 | precise 306 | premium 307 | prepared 308 | present 309 | pretty 310 | primary 311 | prime 312 | pro 313 | probable 314 | profound 315 | promoted 316 | prompt 317 | proper 318 | proud 319 | proven 320 | pumped 321 | pure 322 | quality 323 | quick 324 | quiet 325 | rapid 326 | rare 327 | rational 328 | ready 329 | real 330 | refined 331 | regular 332 | related 333 | relative 334 | relaxed 335 | relaxing 336 | relevant 337 | relieved 338 | renewed 339 | renewing 340 | resolved 341 | rested 342 | rich 343 | right 344 | robust 345 | romantic 346 | ruling 347 | sacred 348 | safe 349 | saved 350 | saving 351 | secure 352 | select 353 | selected 354 | sensible 355 | set 356 | settled 357 | settling 358 | sharing 359 | sharp 360 | shining 361 | simple 362 | sincere 363 | singular 364 | skilled 365 | smart 366 | smashing 367 | smiling 368 | smooth 369 | social 370 | solid 371 | sought 372 | sound 373 | special 374 | splendid 375 | square 376 | stable 377 | star 378 | steady 379 | sterling 380 | still 381 | stirred 382 | stirring 383 | striking 384 | strong 385 | stunning 386 | subtle 387 | suitable 388 | suited 389 | summary 390 | sunny 391 | super 392 | superb 393 | supreme 394 | sure 395 | sweeping 396 | sweet 397 | talented 398 | teaching 399 | tender 400 | thankful 401 | thorough 402 | tidy 403 | tight 404 | together 405 | tolerant 406 | top 407 | topical 408 | tops 409 | touched 410 | touching 411 | tough 412 | true 413 | trusted 414 | trusting 415 | trusty 416 | ultimate 417 | unbiased 418 | uncommon 419 | unified 420 | unique 421 | united 422 | up 423 | upright 424 | upward 425 | usable 426 | useful 427 | valid 428 | valued 429 | vast 430 | verified 431 | viable 432 | vital 433 | vocal 434 | wanted 435 | warm 436 | wealthy 437 | welcome 438 | welcomed 439 | well 440 | whole 441 | willing 442 | winning 443 | wired 444 | wise 445 | witty 446 | wondrous 447 | workable 448 | working 449 | worthy 450 | -------------------------------------------------------------------------------- /words/small/adverbs.txt: -------------------------------------------------------------------------------- 1 | abnormally 2 | absolutely 3 | accurately 4 | actively 5 | actually 6 | adequately 7 | admittedly 8 | adversely 9 | allegedly 10 | amazingly 11 | annually 12 | apparently 13 | arguably 14 | awfully 15 | badly 16 | barely 17 | basically 18 | blatantly 19 | blindly 20 | briefly 21 | brightly 22 | broadly 23 | carefully 24 | centrally 25 | certainly 26 | cheaply 27 | cleanly 28 | clearly 29 | closely 30 | commonly 31 | completely 32 | constantly 33 | conversely 34 | correctly 35 | curiously 36 | currently 37 | daily 38 | deadly 39 | deeply 40 | definitely 41 | directly 42 | distinctly 43 | duly 44 | eagerly 45 | early 46 | easily 47 | eminently 48 | endlessly 49 | enormously 50 | entirely 51 | equally 52 | especially 53 | evenly 54 | evidently 55 | exactly 56 | explicitly 57 | externally 58 | extremely 59 | factually 60 | fairly 61 | finally 62 | firmly 63 | firstly 64 | forcibly 65 | formally 66 | formerly 67 | frankly 68 | freely 69 | frequently 70 | friendly 71 | fully 72 | generally 73 | gently 74 | genuinely 75 | ghastly 76 | gladly 77 | globally 78 | gradually 79 | gratefully 80 | greatly 81 | grossly 82 | happily 83 | hardly 84 | heartily 85 | heavily 86 | hideously 87 | highly 88 | honestly 89 | hopefully 90 | hopelessly 91 | horribly 92 | hugely 93 | humbly 94 | ideally 95 | illegally 96 | immensely 97 | implicitly 98 | incredibly 99 | indirectly 100 | infinitely 101 | informally 102 | inherently 103 | initially 104 | instantly 105 | intensely 106 | internally 107 | jointly 108 | jolly 109 | kindly 110 | largely 111 | lately 112 | legally 113 | lightly 114 | likely 115 | literally 116 | lively 117 | locally 118 | logically 119 | loosely 120 | loudly 121 | lovely 122 | luckily 123 | mainly 124 | manually 125 | marginally 126 | mentally 127 | merely 128 | mildly 129 | miserably 130 | mistakenly 131 | moderately 132 | monthly 133 | morally 134 | mostly 135 | multiply 136 | mutually 137 | namely 138 | nationally 139 | naturally 140 | nearly 141 | neatly 142 | needlessly 143 | newly 144 | nicely 145 | nominally 146 | normally 147 | notably 148 | noticeably 149 | obviously 150 | oddly 151 | officially 152 | only 153 | openly 154 | optionally 155 | overly 156 | painfully 157 | partially 158 | partly 159 | perfectly 160 | personally 161 | physically 162 | plainly 163 | pleasantly 164 | poorly 165 | positively 166 | possibly 167 | precisely 168 | preferably 169 | presently 170 | presumably 171 | previously 172 | primarily 173 | privately 174 | probably 175 | promptly 176 | properly 177 | publicly 178 | purely 179 | quickly 180 | quietly 181 | radically 182 | randomly 183 | rapidly 184 | rarely 185 | rationally 186 | readily 187 | really 188 | reasonably 189 | recently 190 | regularly 191 | reliably 192 | remarkably 193 | remotely 194 | repeatedly 195 | rightly 196 | roughly 197 | routinely 198 | sadly 199 | safely 200 | scarcely 201 | secondly 202 | secretly 203 | seemingly 204 | sensibly 205 | separately 206 | seriously 207 | severely 208 | sharply 209 | shortly 210 | similarly 211 | simply 212 | sincerely 213 | singularly 214 | slightly 215 | slowly 216 | smoothly 217 | socially 218 | solely 219 | specially 220 | steadily 221 | strangely 222 | strictly 223 | strongly 224 | subtly 225 | suddenly 226 | suitably 227 | supposedly 228 | surely 229 | terminally 230 | terribly 231 | thankfully 232 | thoroughly 233 | tightly 234 | totally 235 | trivially 236 | truly 237 | typically 238 | ultimately 239 | unduly 240 | uniformly 241 | uniquely 242 | unlikely 243 | urgently 244 | usefully 245 | usually 246 | utterly 247 | vaguely 248 | vastly 249 | verbally 250 | vertically 251 | vigorously 252 | violently 253 | virtually 254 | visually 255 | weekly 256 | wholly 257 | widely 258 | wildly 259 | willingly 260 | wrongly 261 | yearly 262 | -------------------------------------------------------------------------------- /words/small/nouns.txt: -------------------------------------------------------------------------------- 1 | ox 2 | ant 3 | ape 4 | asp 5 | bat 6 | bee 7 | boa 8 | bug 9 | cat 10 | cod 11 | cow 12 | cub 13 | doe 14 | dog 15 | eel 16 | eft 17 | elf 18 | elk 19 | emu 20 | ewe 21 | fly 22 | fox 23 | gar 24 | gnu 25 | hen 26 | hog 27 | imp 28 | jay 29 | kid 30 | kit 31 | koi 32 | lab 33 | man 34 | owl 35 | pig 36 | pug 37 | pup 38 | ram 39 | rat 40 | ray 41 | yak 42 | bass 43 | bear 44 | bird 45 | boar 46 | buck 47 | bull 48 | calf 49 | chow 50 | clam 51 | colt 52 | crab 53 | crow 54 | dane 55 | deer 56 | dodo 57 | dory 58 | dove 59 | drum 60 | duck 61 | fawn 62 | fish 63 | flea 64 | foal 65 | fowl 66 | frog 67 | gnat 68 | goat 69 | grub 70 | gull 71 | hare 72 | hawk 73 | ibex 74 | joey 75 | kite 76 | kiwi 77 | lamb 78 | lark 79 | lion 80 | loon 81 | lynx 82 | mako 83 | mink 84 | mite 85 | mole 86 | moth 87 | mule 88 | mutt 89 | newt 90 | orca 91 | oryx 92 | pika 93 | pony 94 | puma 95 | seal 96 | shad 97 | slug 98 | sole 99 | stag 100 | stud 101 | swan 102 | tahr 103 | teal 104 | tick 105 | toad 106 | tuna 107 | wasp 108 | wolf 109 | worm 110 | wren 111 | yeti 112 | adder 113 | akita 114 | alien 115 | aphid 116 | bison 117 | boxer 118 | bream 119 | bunny 120 | burro 121 | camel 122 | chimp 123 | civet 124 | cobra 125 | coral 126 | corgi 127 | crane 128 | dingo 129 | drake 130 | eagle 131 | egret 132 | filly 133 | finch 134 | gator 135 | gecko 136 | ghost 137 | ghoul 138 | goose 139 | guppy 140 | heron 141 | hippo 142 | horse 143 | hound 144 | husky 145 | hyena 146 | koala 147 | krill 148 | leech 149 | lemur 150 | liger 151 | llama 152 | louse 153 | macaw 154 | midge 155 | molly 156 | moose 157 | moray 158 | mouse 159 | panda 160 | perch 161 | prawn 162 | quail 163 | racer 164 | raven 165 | rhino 166 | robin 167 | satyr 168 | shark 169 | sheep 170 | shrew 171 | skink 172 | skunk 173 | sloth 174 | snail 175 | snake 176 | snipe 177 | squid 178 | stork 179 | swift 180 | tapir 181 | tetra 182 | tiger 183 | troll 184 | trout 185 | viper 186 | wahoo 187 | whale 188 | zebra 189 | alpaca 190 | amoeba 191 | baboon 192 | badger 193 | beagle 194 | bedbug 195 | beetle 196 | bengal 197 | bobcat 198 | caiman 199 | cattle 200 | cicada 201 | collie 202 | condor 203 | cougar 204 | coyote 205 | dassie 206 | dragon 207 | earwig 208 | falcon 209 | feline 210 | ferret 211 | gannet 212 | gibbon 213 | glider 214 | goblin 215 | gopher 216 | grouse 217 | guinea 218 | hermit 219 | hornet 220 | iguana 221 | impala 222 | insect 223 | jackal 224 | jaguar 225 | jennet 226 | kitten 227 | kodiak 228 | lizard 229 | locust 230 | maggot 231 | magpie 232 | mammal 233 | mantis 234 | marlin 235 | marmot 236 | marten 237 | martin 238 | mayfly 239 | minnow 240 | monkey 241 | mullet 242 | muskox 243 | ocelot 244 | oriole 245 | osprey 246 | oyster 247 | parrot 248 | pigeon 249 | piglet 250 | poodle 251 | possum 252 | python 253 | quagga 254 | rabbit 255 | raptor 256 | rodent 257 | roughy 258 | salmon 259 | sawfly 260 | serval 261 | shiner 262 | shrimp 263 | spider 264 | sponge 265 | tarpon 266 | thrush 267 | tomcat 268 | toucan 269 | turkey 270 | turtle 271 | urchin 272 | vervet 273 | walrus 274 | weasel 275 | weevil 276 | wombat 277 | anchovy 278 | anemone 279 | bluejay 280 | buffalo 281 | bulldog 282 | buzzard 283 | caribou 284 | catfish 285 | chamois 286 | cheetah 287 | chicken 288 | chigger 289 | cowbird 290 | crappie 291 | crawdad 292 | cricket 293 | dogfish 294 | dolphin 295 | firefly 296 | garfish 297 | gazelle 298 | gelding 299 | giraffe 300 | gobbler 301 | gorilla 302 | goshawk 303 | grackle 304 | griffon 305 | grizzly 306 | grouper 307 | haddock 308 | hagfish 309 | halibut 310 | hamster 311 | herring 312 | javelin 313 | jawfish 314 | jaybird 315 | katydid 316 | ladybug 317 | lamprey 318 | lemming 319 | leopard 320 | lioness 321 | lobster 322 | macaque 323 | mallard 324 | mammoth 325 | manatee 326 | mastiff 327 | meerkat 328 | mollusk 329 | monarch 330 | mongrel 331 | monitor 332 | monster 333 | mudfish 334 | muskrat 335 | mustang 336 | narwhal 337 | oarfish 338 | octopus 339 | opossum 340 | ostrich 341 | panther 342 | peacock 343 | pegasus 344 | pelican 345 | penguin 346 | phoenix 347 | piranha 348 | polecat 349 | primate 350 | quetzal 351 | raccoon 352 | rattler 353 | redbird 354 | redfish 355 | reptile 356 | rooster 357 | sawfish 358 | sculpin 359 | seagull 360 | skylark 361 | snapper 362 | spaniel 363 | sparrow 364 | sunbeam 365 | sunbird 366 | sunfish 367 | tadpole 368 | terrier 369 | unicorn 370 | vulture 371 | wallaby 372 | walleye 373 | warthog 374 | whippet 375 | wildcat 376 | aardvark 377 | airedale 378 | albacore 379 | anteater 380 | antelope 381 | arachnid 382 | barnacle 383 | basilisk 384 | blowfish 385 | bluebird 386 | bluegill 387 | bonefish 388 | bullfrog 389 | cardinal 390 | chipmunk 391 | cockatoo 392 | crayfish 393 | dinosaur 394 | doberman 395 | duckling 396 | elephant 397 | escargot 398 | flamingo 399 | flounder 400 | foxhound 401 | glowworm 402 | goldfish 403 | grubworm 404 | hedgehog 405 | honeybee 406 | hookworm 407 | humpback 408 | kangaroo 409 | killdeer 410 | kingfish 411 | labrador 412 | lacewing 413 | ladybird 414 | lionfish 415 | longhorn 416 | mackerel 417 | malamute 418 | marmoset 419 | mastodon 420 | moccasin 421 | mongoose 422 | monkfish 423 | mosquito 424 | pangolin 425 | parakeet 426 | pheasant 427 | pipefish 428 | platypus 429 | polliwog 430 | porpoise 431 | reindeer 432 | ringtail 433 | sailfish 434 | scorpion 435 | seahorse 436 | seasnail 437 | sheepdog 438 | shepherd 439 | silkworm 440 | squirrel 441 | stallion 442 | starfish 443 | starling 444 | stingray 445 | stinkbug 446 | sturgeon 447 | terrapin 448 | titmouse 449 | tortoise 450 | treefrog 451 | werewolf 452 | woodcock 453 | --------------------------------------------------------------------------------