UX Writing Guide
Words are interface. Every label, message, and instruction shapes how members understand and trust Copart. The same rigor we apply to color and spacing applies to language. UX Writing is the one section that carries both the "why" (from the Copart Design Vault) and the "how" (from Vallejo).
Vallejo 1.1.1 — March 2026
Section 2.1
Voice & tone charter
Copart's voice is consistent across every touchpoint. Tone adapts to context — but the voice never changes.
Brand voice
Professional
We respect the member's time and money. No fluff, no filler.
"Your bid of $4,500 has been placed."
not "Awesome! You just bid!"
not "Awesome! You just bid!"
Straightforward
Say exactly what's happening. No jargon unless the audience expects it.
"This lot has a clean title."
not "This vehicle's documentation status is clear."
not "This vehicle's documentation status is clear."
Confident
We know our platform. Statements, not hedging.
"Bidding closes at 2:30 PM EST."
not "Bidding should close around 2:30 PM EST."
not "Bidding should close around 2:30 PM EST."
Helpful
Every message moves the member toward their goal.
"Enter your VIN to check eligibility."
not "VIN required."
not "VIN required."
Vault triad mapping: Professional + Straightforward = Precision (the warmth of competence). Confident = Institutional Confidence (we don't hedge or over-explain). Helpful = Vitality (every message moves the member forward).
Tone spectrum
| Context | Tone | Example |
|---|---|---|
| Informational | Neutral, factual | This lot is located in Dallas, TX. |
| Encouraging | Warm, supportive | You're all set — your watchlist will notify you when bidding opens. |
| Urgent | Direct, clear | Bidding closes in 2 minutes. Place your bid now. |
| Error | Calm, solution-focused | Payment failed — update your payment method to continue. |
Rule: Never use humor, sarcasm, or playful language in error states. Members may be frustrated or anxious — meet them with clarity, not cleverness.
Section 2.2
Capitalization & punctuation
Sentence case everywhere. Capitalize the first word and proper nouns only.
Sentence case examples
| Element | Correct | Incorrect |
|---|---|---|
| Page headings | My saved vehicles | My Saved Vehicles |
| Button labels | Place bid | Place Bid |
| Nav items | Find vehicles | Find Vehicles |
| Tab labels | Bid history | Bid History |
| Table headers | Sale date | Sale Date |
| Menu items | Account settings | Account Settings |
Exceptions — always capitalize: Copart, CrashedToys, Copart Dealer Services (CDS), Copart Wholesale Auction, Copart Alliance Gateway, VIN, CDV, NMVTIS, and product names used as proper nouns.
Punctuation rules
| Rule | Example |
|---|---|
| No periods on buttons, labels, table headers, nav items, badges | Place bid not Place bid. |
| Periods on full sentences in descriptions, helper text, tooltips | Enter the 17-character VIN found on the vehicle dashboard. |
| Serial (Oxford) comma required | Year, make, and model not Year, make and model |
| Em dash (—) for interruption or clause joining | Payment failed — update your payment method. |
| En dash (–) for ranges | $1,200–$3,500 or Mon–Fri |
| No exclamation marks in UI copy | Bid placed successfully not Bid placed! |
Section 2.3
Grammar & tense conventions
Active voice always. Second person for the member. Contractions are fine — but not all of them.
Active voice always
| Correct (active) | Incorrect (passive) |
|---|---|
| We saved your bid. | Your bid has been saved. |
| Enter your lot number. | The lot number should be entered. |
| Copart charges a buyer fee. | A buyer fee is charged. |
Tense rules
| Context | Tense | Example |
|---|---|---|
| Current state | Present | 3 items in your watchlist |
| Completed action | Past | Bid placed successfully |
| Instruction | Imperative | Enter your VIN |
| Future event | Future | Bidding opens tomorrow at 10:00 AM EST |
Person & pronouns
Use
Second person ("you/your") for addressing the member. First person plural ("we") when Copart is the subject.
"We'll notify you when bidding opens."
Contractions
Allowed: don't, won't, can't, it's, you'll, we'll, you're, we're, that's
Avoid: ain't, y'all, would've, could've
Avoid: ain't, y'all, would've, could've
Section 2.4
Terminology glossary
Use these terms consistently. Never alternate between synonyms within the same flow or page.
| Preferred term | Never use | Notes |
|---|---|---|
| Lot | Listing, item, product | Copart's canonical term for an auctioned vehicle |
| Vehicle | Car, automobile, unit | The physical object, not the auction entity |
| Bid | Offer, price, amount | For both the action and the value |
| Place bid | Submit bid, make bid, enter bid | Canonical CTA verb |
| Watchlist | Favorites, saved items, bookmarks | Single canonical term |
| Member | User, customer, client | For all Copart users |
| Sign in / Sign out | Log in, login, log out | Two words as verb; one word as adjective ("sign-in page") |
| Register | Sign up, create account, join | Canonical onboarding term |
| VIN | Vehicle identification number (in UI) | Always abbreviation in interface |
| Clean title | Non-salvage, clear title | Industry-standard term |
| Salvage | Damaged, wrecked, total loss | Legal/industry classification |
| Pre-bid | Preliminary bid, early bid | Canonical short form everywhere |
| Live auction | Real-time auction, active auction | "Live" is the canonical modifier |
| Buy it now | Instant purchase, direct buy | Capitalize first word only: "Buy it now" |
| Buyer fee | Service fee, transaction fee | Copart-specific term |
| Sale date | Auction date, event date | Canonical field label |
| Location | Yard (internal only), facility | Public-facing term for Copart sites. "Yard" is internal only. |
| Item number | Run number, lane number | For auction ordering |
| Title type | Title status, title category | Field label |
| Damage type | Damage category, loss type | Field label |
| Odometer | Mileage, miles | Field label; "miles" in conversational copy |
| Highlights | Features, specs, details | Vehicle summary section |
| Condition | Quality, grade | Vehicle state descriptor |
| Seller | Consigner, provider, vendor | Entity listing the vehicle |
| Storage fees | Yard fees, holding fees | Canonical term |
| Copart Alliance Gateway | Lounge, Copart Lounge | Official name for on-site member facilities |
| Wholesale / Copart Wholesale | Select, Copart Select, Wholecar | Current brand. Full product name: "Copart Wholesale Auction" |
Rule: If a term is not in this glossary, choose the simplest, most common word and use it consistently. Add new terms to the glossary when they appear in more than one flow.
Section 2.5
Copy length guidelines
Every UI element has a character budget. These limits maintain scannability and prevent layout breakage.
| Element | Word count | Max characters | Example |
|---|---|---|---|
| Button label | 1–3 words | 20 chars | Place bid |
| Field label | 1–4 words | 30 chars | Lot number |
| Placeholder text | 2–5 words | 30 chars | e.g., 12345678 |
| Helper text | 1 sentence | 80 chars | 8-digit number found on the vehicle page. |
| Error message | 1–2 sentences | 120 chars | Enter a valid lot number (8 digits). |
| Toast message | 1 sentence | 60 chars | Lot added to watchlist. |
| Empty state heading | 3–8 words | 40 chars | No saved lots yet |
| Empty state body | 1–2 sentences | 120 chars | Search for vehicles and save them here. |
| Modal title | 3–8 words | 50 chars | Confirm your bid |
| Table header | 1–3 words | 20 chars | Sale date |
| Badge / tag | 1–2 words | 15 chars | Clean title |
| Tooltip | 1–2 sentences | 100 chars | Your maximum bid. Copart bids on your behalf up to this amount. |
| Nav item | 1–2 words | 15 chars | My bids |
Rule: If copy exceeds the character budget, rewrite — don't just truncate. Truncation is a last resort for dynamic content only.
Section 2.6
Component microcopy patterns
Specific copy patterns for every component type. These are rules, not suggestions.
Buttons
- Start with a verb. The label describes the action: Place bid, Save to watchlist, Remove lot
- Be specific. Place bid beats Submit. Remove from watchlist beats Delete.
- No numerical values in buttons. Never put pricing, amounts, or counts inside button labels. Display values elsewhere in the UI. Buttons are for actions only.
- Never use: Click here, Submit, OK, Yes, No
- Destructive: State what will be destroyed — Remove from watchlist
- Loading state: Present participle — Placing bid…, Saving…
Text fields
- Labels describe what to enter: Lot number — not Enter lot number here
- Placeholders show example format only: e.g., 12345678 — never repeat the label
- Helper text adds context the label can't: 8-digit number found on the vehicle page.
- Error messages say what went wrong AND how to fix it: Enter a valid lot number (8 digits). — not Invalid input
Alerts & banners
- Lead with what happened, then what to do.
- Success: Bid placed — you'll receive a confirmation email.
- Warning: Your session expires in 5 minutes — save your work.
- Error: Payment failed — update your payment method to continue.
- Never use: Oops, Uh oh, Whoops, Something went wrong
- Never blame the member: We couldn't process your payment — not You entered an invalid card
Toasts & snackbars
- Confirmation of the action just taken. Past tense, one sentence.
- Lot added to watchlist. / Bid placed successfully. / Settings saved.
- Include undo where reversible: Lot removed from watchlist. Undo
- Auto-dismiss after 5 seconds. No exclamation marks.
Modals & dialogs
- Title = what this modal is about: Confirm your bid, Remove lot from watchlist
- Body = what the member needs to know. 1–3 sentences.
- Primary button = specific action: Place bid, Confirm purchase — never OK or Yes. No pricing in buttons — display amounts in the modal body.
- Secondary button = Cancel — not No, Go back, Dismiss
- Destructive: Repeat the consequence — This will permanently remove the lot from your watchlist.
Empty states
- Heading: Describe what's missing — No saved lots yet
- Body: Explain how to fill it — Search for vehicles and tap the heart icon to save them here.
- CTA: Action to resolve — Browse vehicles
- Never say: No data, Nothing to show, Empty
Tables
- Headers: Short noun or noun phrase — Sale date, Current bid, Damage type
- No verbs in table headers
- Null values: Em dash "—" — never N/A, null, none, or blank
- Monospace for VIN, lot numbers, bid amounts, timestamps
Badges & tags
- 1–2 words maximum
- Status badges: Past participle or adjective — Sold, Awarded, Active, Upcoming
- Category tags: Nouns — Clean title, Salvage, Flood damage
- Count badges: Numerals only — 3, 12, 99+
Navigation
- Top-level items: 1–2 word nouns — Vehicles, My bids, Dashboard
- Never use verbs in primary navigation items
- Breadcrumbs match the page title exactly — no abbreviations or rewording
Section 2.7
Inclusive language
Copart serves a global audience. Write for everyone.
Gender & identity
- Gender-neutral by default: "they/them" for unknown members
- Member — not he or she, his/her
- Salesperson — not salesman/saleswoman
Jargon & accessibility
- If a term needs explanation, add a tooltip or inline definition
- Reading level: Aim for grade 8 (Flesch-Kincaid)
- No idioms, colloquialisms, or cultural references
- Person-first language: "members who use screen readers"
Section 2.8
Dynamic & adaptive copy
Rules for formatting dates, times, numbers, and handling pluralization and truncation.
Numbers & formats
| Rule | Example |
|---|---|
| Spell out 1–9 in body copy | three vehicles |
| Numerals for 10+ | 42 results |
| Always numerals for prices, bids, lot numbers, counts in UI | $1,200 · Lot 78901234 |
| Currency: commas, no cents unless partial | $12,500 · $0.50 |
Date & time formatting
| Format | Example | Usage |
|---|---|---|
| Abbreviated date | Feb 22, 2026 | Default for all dates in UI |
| Relative date | Today, Yesterday, 3 days ago | Use within 7 days; absolute after that |
| Time | 2:30 PM EST | 12-hour clock, full timezone abbreviation (EST, CST, PST) |
| Date range | Feb 22–28, 2026 | En dash, no spaces around dash |
Pluralization
Always handle three states: zero, one, and many.
| Count | Copy |
|---|---|
| 0 | No results or No saved lots |
| 1 | 1 result or 1 saved lot |
| 2+ | 24 results or 8 saved lots |
Rule: Never show "0 results" — use the zero-state phrasing instead.
Number formatting
| Type | Format | Example |
|---|---|---|
| Currency | $X,XXX | $4,500 |
| Large numbers | Comma-separated | 1,234,567 |
| Percentages | No decimal unless needed | 85% or 99.5% |
| Lot numbers | Monospace, no separators | 78901234 |
| VIN | Monospace, uppercase | 1HGCM82633A004352 |
Truncation rules
- Ellipsis (…) after the last full word — never mid-word
- Minimum 3 visible words before truncation
- Always provide the full text via tooltip on hover
- Vehicle titles: truncate after year + make + model — 2024 Toyota Cam…
Section 2.9
Do / Don't library
Real examples of correct and incorrect copy across common patterns.
Button labels
Do
"Place bid" / "Save to watchlist" / "Remove lot"
Don't
"Submit" / "Click here" / "OK" / "Yes" / "Process"
Specific verbs tell the member exactly what will happen. Generic labels force them to guess.
Error messages
Do
"Enter a valid email address (e.g., name@example.com)."
Don't
"Invalid input." / "Error." / "Please try again."
Good error messages name the problem and show the fix. Bad ones make the member figure it out alone.
Empty states
Do
"No saved lots yet" → "Search for vehicles and tap the heart icon to save them here." → "Browse vehicles"
Don't
"No data." / "Nothing to show." / "Your list is empty."
Empty states are onboarding opportunities. Guide the member toward the next action.
Confirmation messages
Do
"Your bid of $4,500 on Lot 78901234 has been placed."
Don't
"Success!" / "Done!" / "Action completed."
Specific confirmations prove the system did what the member intended. Vague ones create doubt.
Field labels
Do
"Lot number" / "Email address" / "Zip code"
Don't
"Enter your lot number here" / "Type email" / "Input zip"
Labels name the field. Instructions belong in placeholder or helper text, not the label.
Tone in errors
Do
"We couldn't process your payment. Update your payment method to try again."
Don't
"Oops! Something went wrong. Please try again later!"
Members dealing with payment failures are already frustrated. Be calm and direct — never cute.
Placeholder text
Do
"e.g., 12345678" / "Search by make, model, or VIN"
Don't
"Enter lot number" / "Type here" / "Lot number"
Placeholders demonstrate format — they don't replace labels. Repeating the label wastes the placeholder.
Modal actions
Do
Primary: "Place bid" / Secondary: "Cancel"
Display bid amount in modal body, not in the button.
Display bid amount in modal body, not in the button.
Don't
Primary: "OK" / "Yes" / Secondary: "No" / "Go back"
The member should understand what each button does without reading the modal body.
Toast messages
Do
"Lot added to watchlist." / "Settings saved."
Don't
"Success! Item has been added to your favorites list!" / "Your changes have been saved successfully."
Toasts are glanceable confirmations. Short, past tense, no exclamation marks.
Navigation labels
Do
"Vehicles" / "My bids" / "Dashboard"
Don't
"Find vehicles" / "View my bids" / "Go to dashboard"
Navigation items are nouns (destinations), not verbs (actions). Members click to go somewhere, not to do something.
Status communication
Do
"Bidding closes Feb 22 at 2:30 PM EST" / "Lot sold — final bid: $12,400"
Don't
"Auction ending soon!" / "This item has been sold."
Specific status copy includes the data the member needs. Vague status creates anxiety and follow-up questions.