# Guideline 4.0 - Design: Spelling or Grammatical Mistakes in UI

**Guideline:** 4.0 · **Store:** Apple App Store · **Risk:** low · **Difficulty:** easy · **Typical turnaround:** 1-3 hours

Canonical URL: https://appstorereject.com/rejections/apple/4/guideline-40-design-spelling-or-grammatical-mistakes-in-ui

## Description

Apple rejected your app because it contains noticeable spelling errors, grammatical mistakes, or poorly written text in the user interface. This includes button labels, navigation titles, onboarding text, error messages, alert dialogs, and App Store metadata (description, screenshots, what’s new). Apple considers polished copy part of the design quality standard, and apps with multiple spelling or grammar issues suggest a lack of attention to detail that falls below the App Store bar.

## Common variations

- Misspelled button labels (e.g., “Submitt”, “Cancle”, “Contineu”)
- Grammatical errors in onboarding or tutorial text
- Placeholder text (Lorem ipsum) left in production screens
- Inconsistent capitalization (e.g., mixing Title Case and sentence case)
- Machine-translated text with unnatural phrasing in localized versions
- Error messages with typos or nonsensical text

## Example rejection email

```
Guideline 4.0 - Design

Your app contains spelling and/or grammatical errors in the user interface. Specifically, the reviewer noticed the following:

- The home screen title reads “Welcone to MyApp” instead of “Welcome to MyApp”
- The settings screen contains the label “Notificaitons” instead of “Notifications”
- The onboarding text on slide 3 reads “Your data is keep safe” instead of “Your data is kept safe”
- The error alert reads “Something went wrong. Please try agian.”

Please correct all spelling and grammatical errors in your app and resubmit.
```

## Resolution steps

## How to Fix Spelling or Grammatical Mistakes in UI

1. **Extract all user-facing strings** — Search your project for every hardcoded string. In Swift, search for `Text(`, `"\(`, `.navigationTitle(`, `Label(`, and `Alert(` to find all displayed text.

2. **Run a spell check** — Copy all strings into a document and run spell check. Pay special attention to:
   - Button labels
   - Navigation and tab bar titles
   - Onboarding and tutorial text
   - Error messages and alerts
   - Empty state descriptions
   - Settings labels

3. **Use String Catalogs for localization** — Move all strings to Xcode’s String Catalog (.xcstrings) or Localizable.strings. This centralizes all copy in one place, making it easier to review and proofread:

   ```swift
   // Instead of hardcoded strings:
   Text("Welcone to MyApp")

   // Use localized strings:
   Text("welcome_title")  // defined in String Catalog
   ```

4. **Check for placeholder text** — Search for “Lorem ipsum”, “TODO”, “test”, “asdf”, and similar developer placeholder text that may have been left in production.

5. **Review App Store metadata** — The rejection may also cover your App Store listing:
   - App name and subtitle
   - Description
   - What’s New text
   - Screenshot captions
   - Keywords

6. **Have a native speaker review** — If your app is in a language that isn’t your first language, have a native speaker proofread all text. Machine translation is often obvious and can trigger this rejection.

7. **Maintain consistent style** — Pick either Title Case or sentence case for navigation titles and buttons, and apply it consistently throughout the app.

## Appeal guidance

Do not appeal. Fix the typos and resubmit. If the reviewer flagged specific strings, fix those and also audit the entire app for any others they may have missed. This is one of the fastest rejections to resolve.

## Before / after examples

**Before:** // UI strings with spelling and grammar errors
struct HomeView: View {
    var body: some View {
        NavigationStack {
            VStack(spacing: 20) {
                Text("Welcone to MyApp")
                    .font(.largeTitle)
                Text("Your all-in-one productivty tool for keep track of tasks")
                    .font(.subheadline)

                Button("Get Strated") { startOnboarding() }
                Button("Signin") { showLogin() }
            }
            .navigationTitle("Hone")
        }
    }
}

// Alert with typos
.alert("Erorr", isPresented: $showError) {
    Button("Cancle") { }
    Button("Try Agian") { retry() }
} message: {
    Text("Something went wrong. Please check you internet connection.")
}
**After:** // Corrected UI strings — all proofread
struct HomeView: View {
    var body: some View {
        NavigationStack {
            VStack(spacing: 20) {
                Text("Welcome to MyApp")
                    .font(.largeTitle)
                Text("Your all-in-one productivity tool for keeping track of tasks")
                    .font(.subheadline)

                Button("Get Started") { startOnboarding() }
                Button("Sign In") { showLogin() }
            }
            .navigationTitle("Home")
        }
    }
}

// Alert with corrected text
.alert("Error", isPresented: $showError) {
    Button("Cancel") { }
    Button("Try Again") { retry() }
} message: {
    Text("Something went wrong. Please check your internet connection.")
}
**Why it works:** All spelling errors were corrected: “Welcone” → “Welcome”, “productivty” → “productivity”, “keep” → “keeping”, “Strated” → “Started”, “Signin” → “Sign In”, “Hone” → “Home”, “Erorr” → “Error”, “Cancle” → “Cancel”, “Agian” → “Again”, and “you internet” → “your internet”.

## Common questions

**Can you appeal a 4.0 rejection?**

Do not appeal. Fix the typos and resubmit. If the reviewer flagged specific strings, fix those and also audit the entire app for any others they may have missed. This is one of the fastest rejections to resolve.

**How long does this typically take to fix?**

Typical turnaround is 1-3 hours (difficulty: easy). After resubmission, most re-reviews complete within 24-48 hours.

---
*Machine-readable source: https://api.appstorereject.com/api/rejections/detail?slug=guideline-40-design-spelling-or-grammatical-mistakes-in-ui*