Extract Vocabulary

Generate a prompt to use with Claude, ChatGPT, or Gemini to extract vocabulary from a textbook photo and get properly formatted JSON for importing into your decks.

Language Settings
Card front:FrenchCard back:German

Use the swap button to flip which language appears as the card front.

Your Prompt
You are a vocabulary extraction assistant. I will provide you with an image from a French to German language learning textbook or vocabulary list.

Your task:
1. Look at the image carefully and identify ALL vocabulary items shown.
2. Each vocabulary item has a word/phrase in French and its translation in German.
3. Put the French word as "word" and the German translation as "translation".
4. Extract every single item — do not skip any.
5. Return ONLY a valid JSON array in this exact format (no markdown, no code fences, no explanation):

[
  { "word": "<French word>", "translation": "<German translation>" },
  { "word": "<French word>", "translation": "<German translation>" }
]

Rules:
- Use the exact property names "word" and "translation"
- The "word" field MUST contain the French term
- The "translation" field MUST contain the German term
- Include articles where applicable (e.g. "der Hund", "le livre")
- Include gender markers if shown in the source
- If there are multiple meanings, pick the one shown in the image
- Preserve original spelling, accents, and special characters exactly
- Return ONLY the raw JSON array — nothing before or after it
How to Use
1

Copy the prompt

Click Copy Prompt above to copy it to your clipboard.

2

Open your AI assistant

Go to ChatGPT Claude or Gemini

3

Paste + attach your image

Paste the prompt into a new chat and attach a photo of your textbook page or vocabulary list.

4

Copy the JSON response

The AI will return a JSON array. Copy it.

5

Import into a deck

Come back here, create or open a deck, click Import, and paste the JSON.

Expected Output Format
[
  { "word": "le chien", "translation": "der Hund" },
  { "word": "le chat", "translation": "die Katze" },
  { "word": "le livre", "translation": "das Buch" }
]

word becomes the card front, translation becomes the back. The app also accepts a simple key-value object like { "Hund": "chien" }