Skip to main content
Shipname

How the Ship Name Generator Works

ShipName.net is a brainstorming and comparison tool, not an authority that decides the correct name for a couple or fictional pairing. This page documents the current generation method, scoring rules, and limits so users can judge the results instead of trusting a black box.

Current Engine

The production engine is version 2026.08.24-2. It is deterministic: the same cleaned inputs and context produce the same candidates. Core generation does not depend on an external language model, account, payment, or upstream service. Version 2 preserves Unicode grapheme clusters at input limits and candidate cut points; the locked Latin-script benchmark remains unchanged.

The homepage can also create concept names from two optional signal words. Each signal is reduced to one word and matched against a small published vocabulary of common symbols such as moon, star, fire, book, music, or storm. The tool combines the literal words and a limited set of transparent variations. Unknown words are still combined literally. This feature is a prompt for human choice, not a claim about fandom convention or meaning.

The pair engine accepts two names and a context setting. It normalizes the text, removes punctuation and spaces, creates candidates from multiple source boundaries, removes duplicates, scores every candidate, and returns the strongest results. A progressively disclosed group mode accepts three to five names. It creates compact drafts containing a visible fragment from every member and also returns complete full-name relationship formats.

Input Handling

Removing punctuation makes candidate comparison consistent, but it can also remove meaningful styling from a name. Users should restore intentional punctuation after choosing a result.

Candidate Patterns

Assume the inputs are Taylor and Travis.

| Pattern | Construction | Example | | --- | --- | --- | | Prefix and suffix | Beginning of one name plus ending of the other | Tay + vis = Tayvis | | Reverse prefix and suffix | Reverse the source order | Tra + lor = Tralor | | Shared-letter overlap | Use a matching boundary letter once | Tra + aylor = Traylor | | Full join | Preserve both complete names as a low-priority fallback | TaylorTravis |

The engine tests several cut points, including vowel-to-consonant transitions and positions near the middle of each input. Full joins receive a scoring penalty because they are usually less compact than a true blend.

Three-to-Five-Name Drafts

Group mode selects short prefix or suffix fragments from every input, tries several source orders, removes duplicate results, and exposes every fragment in its construction note. For Latin-script examples it avoids fragments without a vowel when a nearby vowel can be included.

This is a coverage invariant, not a taste score. A mechanically complete group blend can still be awkward. The interface therefore labels these outputs experimental drafts and presents full-name hashtag, slash, ampersand, and x formats first. On AO3, slash represents a romantic or sexual relationship while ampersand represents a platonic or other non-romantic relationship; they are not interchangeable.

Scoring

Scores are internal heuristics used to order pair candidates, not linguistic facts or quality ratings. The consumer interface does not show numeric score bars or call a candidate objectively best. Construction details remain available in a disclosure. The internal ordering uses these components:

| Component | Weight | What it measures | | --- | ---: | --- | | Source clarity | 40% | Whether a reader can recognize meaningful material from both original names | | Source balance | 20% | Whether the two source fragments contribute similar amounts | | Readability | 20% | Repeated characters, difficult consonant clusters, and excessive length | | Join quality | 5% | Whether the boundary is shared or changes cleanly between vowel and consonant | | Length | 15% | Whether the result is compact enough for a tag, handle, or nickname |

The engine also emits warnings when one input dominates, source fragments are too short, a difficult character run appears, the result is long, or non-Latin pronunciation needs human review.

Context Adjustments

Context changes ranking by a few points after the shared structural score:

| Context | Small preference | | --- | --- | | Couple | Balanced fragments and compact written forms | | Fandom | Shorter written forms | | Friends | Shared-letter overlaps and structurally unusual joins | | Wedding | Source clarity and written readability; long forms are penalized |

These are transparent tie-break preferences, not separate AI models. They do not check community convention, event privacy, platform availability, or cultural meaning.

Custom Draft Checker

The Name Blend Checker applies a separate deterministic method to any candidate entered by the visitor. It is intended for edited generator results and candidates found or written elsewhere. The checker does not rank or recommend the draft.

It searches the candidate spelling for contiguous fragments that also occur in source A and source B. From the possible matches, it selects a pair that:

  1. covers as much of the candidate as possible;
  2. favors a meaningful fragment from the source with the shorter visible contribution;
  3. favors compact boundaries; and
  4. permits no more than one shared boundary character.

The reported candidate coverage is the percentage of draft characters covered by the selected traces. Contribution balance compares only the lengths of those two traces. Warnings identify token one-character contributions, untraced text, visible imbalance, long forms, repeated-character runs, Latin consonant clusters, and text that requires language-specific review.

This trace is one possible spelling explanation. It cannot reconstruct the writer's intent, evaluate sound, or establish recognition. A middle fragment can be structurally present while remaining opaque to a new reader.

When the checker is opened from the current pair result, the two sources and candidate move once through temporary same-tab session storage and are removed after loading. The visitor may edit the candidate before checking it. Opening the checker and completing a generated-candidate check may add separate privacy-minimized events. They can contain only the original anonymous run identifier, context, fixed homepage setup, two-input count, output category, candidate rank and structural-score band when available, engine version, broad referrer category, and an opened or checked outcome. The setup is one of two fixed labels and does not contain submitted text. Neither event receives the sources, generated candidate, or edited draft.

Blind Name Test

The Blind Name Test turns one human-review recommendation into a fixed sequence for a visitor's own candidate. The setup records two source names and one candidate in browser memory. The next screen hides both sources while a reader records first-read clarity and guesses two names. Only after those choices does the worksheet reveal the source pair.

The exact comparison normalizes case and punctuation and accepts either source order. It deliberately does not infer nicknames, transliterations, approximate spellings, pronunciation, or intent. A human may judge a near match meaningful even when the narrow exact comparison reports no match.

Custom blind-test contents and answers are not submitted to the application database and do not count toward the fixed-sample Human Review Study. Opening the worksheet from a generated current pick may record only a privacy-minimized opened event linked to that generation, without the source names, candidate, or guesses. Anonymous analytics, when configured, receive only the test version, entry path, clarity category, exact-match count, and keep-or-reject category. They do not receive the names, candidate, or guesses.

How to Compare Results

Do not choose only by the structural rank. Review the first candidates with four questions:

  1. Can both people or characters recognize their name in the blend?
  2. Can a new reader pronounce it without an explanation?
  3. Is it easy to type and recognize in lowercase?
  4. Does it have an unintended meaning or established use in the relevant community?

For Sofia + Mateo, Sofateo preserves recognizable material from both names. A result such as SofiaM would technically include both but represent the second name too weakly.

What the Engine Cannot Verify

The engine does not guarantee:

Generated candidates are drafts. Search a public-facing candidate, inspect it in lowercase, and ask a relevant language or fandom community when context matters.

Testing and Changes

The engine has automated tests for ranking, duplicate removal, source representation, punctuation normalization, invalid input, short-fragment penalties, three-to-five-name coverage, curated compact group fragments, multi-name relationship formats, and concept collision filters. The public engine regression checks run common, short, long, punctuated, accented, and non-Latin pairs through the production pair engine with declared software invariants. Those invariants detect code changes; they do not validate human preference or pronunciation.

Engine behavior is versioned. Material scoring changes will update the version and this page. To report a weak or offensive result, send the two inputs, context, returned candidate, and engine version to externalanswer@gmail.com. Do not include unrelated private information.

For practical guidance, see How to Make a Ship Name That Actually Sounds Good and our Editorial Policy.

Last reviewed: August 24, 2026