German Local Prepositions – Practice Tool
Welcome to my online practice tool for German local prepositions.
With this trainer, you can practice the prepositions you need to talk about where you are, where you’re going and where you’re coming from. And you’ll discover the rules, special cases and exceptions as you go along.
Viel Spaß!

***
Categories
Basics selected.
Direction
All three directions selected.
Difficulty
Short, simple sentences (A1).
Input mode
Pick the right preposition from options.
Set size
10 questions per set.
***
Local Prepositions in German – A Quick Overview
There are loads of prepositions of location like under, behind, on top of, next to and so on. But those are not really the focus of the first version of the tool.
The first version of the tool is specifically about what we could call:
The Default Preposition
So you have a place, like a concert or a person’s home or the bathroom, and the question is which preposition do you need to go there, be there and come from there.
In German, there are kind of 2.5 schemes and then a bunch of side rules or exceptions.
The main two schemes are:
- locations you enter
- locations you don’t enter
Locations you enter are of course all kinds of buildings, but also things like parks, forests and vehicles or planes.
Locations you DON’T enter are people, and by extension all places that are referred to via people or even that are just names.
You do enter a doctor’s office, but when you say, you go “to the doctor”, you refer to the location via a person, so that would be a location you don’t enter. And same for something like McDonald’s or Lidl. Yes, they’re venues, yes, you technically go inside, but when you refer to them by name, you treat them like people.
Oh and also activities like Yoga or services like a massage do fall into this group.
So those are the two main groups and the prepositions we need are:
- destination (wohin) – location (wo) – origin (woher)
- in (Acc) – in (Dat) – aus
- zu – bei – von
As you can see, in the first group, we use in twice, but with different cases. That’s because in is a Two-Way Preposition and the case that follows it depends on whether you talk about a destination or a current location . In English, you can ask for both using where? so if you’re having trouble telling what you’re looking at, you can use this test:
- To what place? = Destination
- At what place? = current location
Destinations are marked by Accusative, current locations are marked by Dative.
The other prepositions in the scheme (zu, aus, bei) all go with Dative all the time, so no distinction there.
Cool, so those are the two basic schemes, let’s call it in-scheme and zu-scheme.
Now, the 0.5 is for countries and other named geographical regions.
Those are generally considered places you can enter BUT, you use nach for the destination, instead of in.
- nach Berlin – in Berlin – aus Berlin
EXCEPT, when the region or country has an article as part of its name. Then, you do use the normal in-scheme.
- in die Schweiz – in der Schweiz – aus der Schweiz
If you’re now like “OMG, I don’t even know which countries have an article!” then don’t worry. That’s part of the drill and it’s only a few.
All right.
So these are the basic schemes, and then, beyond that, there are a few subgroups or singular entities.
Beaches and shores for instance usually go with:
an (Acc) – an/am (Dat) – von
And there are more of these side triplets, but I actually DON’T want to list them here because that’s boring and the drill will always tell you the pattern or rule along with the answer.
Instead, I’ll just give you a chart I have made back in the day when the iPhone was still new and I was more into photography. I tried to capture the most important places and their prepositions.
![]()
(click to see full size, opens in new window)
All right.
Like I said, I’m overdue with the actual lesson series about this stuff, but it’ll come.
Now, let’s go to the drill tool.
Location Practice Tool – Explanation
When I started working on this, I thought it’d be a breeze. A couple of core schemes, a few side schemes. Simple. However, it turned out less easy than I thought because with many places actually two schemes work and sometimes there’s a difference and sometimes there isn’t.
It’s not always clear
What I DIDN’T want is to teach you a place goes with ‘in’ and then you keep seeing it with ‘zu’ in daily life. But I ALSO didn’t want you to pick in when the question “expected” zu, and you’d get a mistake when in reality both options are correct. That’s super duper frustrating.
And a DEFINITELY don’t want to rely on AI to handle these distinctions because … well… it doesn’t do well.
So yeah, I ended up restructuring my data completely and now, often two answers are correct and the explainer will tell you that both are possible.
Generally, places that work with the in-scheme (in – in – aus) can also be used with zu-scheme (zu – bei – von). Same for when you talk about directions to a place. Then, zu is the better way to go. Like in the cartoon. The duck wants to go an den Strand but since it’s a sign, it says zum Strand, because that’s an indication of direction.
I have decided to not micro-optimize this, because it would make it feel more complicated than it needs to be and it would make the entire thing AWFULLY error prone because I can’t rely on AI for these nuances.
The goal is to get a general feel for patterns, not covering every single nuance. 80-20 for the win here :)
I think in its current form, the tool is solid and should also handle the contractions well.. like am, vom, im and so on, though the stupid AI does glitch out here sometimes.
Typing mode vs Speaking Mode
I have NOT yet added a typing mode this time, partially because it would involve the gender and case endings and that kind of detracts from the core topic of the drill, that is associating the preposition with the location and sense of direction.
I DID however add a speaking mode. You’ll see the German sentence with the preposition missing and you have to speak the whole thing to reply.
This is of course peak practice, so if this works well here, I’ll add that to my other drill tools as well.
Other Features
As usual, you can pick your set length, you can pick which directions you want to focus on and if you want super bland boring basic sentences or some more normal ones.
Mistakes get repeated in intervals and you can always review your set again or extend it.
And I have divided the locations into a group of absolute basics and then a group of the more specific ones.
What the tool DOESN’T practice right now is two-way prepositions. I think it’s actually BETTER to not think about that and instead just associate contractions like am or im with fixed location and an den or in die with destinations.
This tool is meant as a DRILL, so you just cruise through it, until you answer automatically without thinking about schemes or two way prepositions or stuff like that.
Oh and one more thing… the “flag” feature only removes weird or faulty examples from YOUR set. I do not track any of this yet, so don’t worry about over-flagging. If you feel weird about an example, just remove it :)
I was just informed I got the following wrong: “Wir tanzen gern ___ Geburtstag von Anna.” I chose the option “auf dem”, the correct answer was given as “beim”, and the explanation states: “Events go with zu (or auf) – bei (or auf) – von. Both destination and location forms are accepted.” I’m confused
So auf dem as not accepted?
The explanation is correct. “beim” and “auf dem” both work, but “auf dem” is better in this case, Geburtstag being kind of a special case, because it’s not really an event but more of an occasion.
Korrekt “auf dem” wurde als falsch gezeigt
I am looking forward to an article listing some of the schemes that are slight variations. You mention them in the Tool’s answers, but I like having a list of them all in one place (and of course, I could make my own as I correct my mistakes, but…) Im Wald and im Park, for example – They aren’t enclosed, or “mit Tür” – but a playground is auf dem Spielplatz…Being able to practice is very helpful.
In all my years leaning German, I was never exposed to these two schemes (in – in – aus; zu – bei – von).
The Tool is great (AI glitches aside).
But —
Is there a lesson explaining these schemes? You are the best explainer.
The reason I started with this blog years ago was when I came across your amazing explanation of the differences between time words.
Not yet, but it’s definitely on my to-do list.
How bad were the glitches, by the way?
Pretty much, the same examples as others have identified.
I am looking forward to the lesson!
Inside the tool, in this exercise:
“Sie kommt gerade ___ dem Supermarkt.”
The explanation says:
“… Supermarkt goes with zu (or in) – in – von (or aus).”
However, in your template you state:
“zu – bei – von”
Shouldn’t it be “zu (or in) – in – von (or aus)” to match the explanation and the example?
Good point.
What I meant on the chart was the NAME of the supermarket, so saying stuff like “Ich gehe zu Walmart.”
It’s actually the broader pattern of “brand names”.
The chart is a bit imprecise there, sorry for the confusion.
Thank you very much for your reply, but I wasn’t clear enough, my bad. My question is actually about the difference when answering the question “Wo”. The green explanation box uses “bei,” whereas the answers in the exercise use “in.”
Wait, are you referring to my pdf chart or a comment in the practice tool itself?
Thanks Emanuel. A great tool to assist in developing and maintaining structured thinking around which preposition to use. I’ll keep using it as part of ‘mein wiederholungsprozess’.
Per some other user’s comments I ran into problems with 4-5 (out of 25) examples that didn’t offer the correct gender option for the contractions – and which I flagged.
On first pass I got most and missed a couple, so it seems worthy of further use for me. I don’t see it as a link in your practice tools on the hamburger menu though. I suspect I won’t use this as much as some of the other tools, but until I’ve got it down I’ll definitely use it.
I’ll organize that soon so all the tools are easy to access AND they’re not sitting below all this article text anymore.
Why would it be ins Supermarkt? Isn’t that masculine?
That’s an AI glitch. They happen from time to time. Just flag it and it won’t be in your current set.
So this has always confused me: does one study an der Uni or auf der Uni?
Both work. “an” has the edge for the verb studieren, but for example when you talk about you being “at school” in general, I’d say “ich war auf der Uni” but “ich bin an der Uni”… so there is no deeper logic there. Pick whichever you like better and go with it and it should be fine.
Teeny, tiny correction : fleamarket, not fleemarket. Love this thing, even with AI issues noted below.
Playing hare to everyone’s tortoise once again, but that’s just the way it is right now :-/ After a few rounds at relatively easy level it’s making errors in gender with about 20-25% of the questions, so not great, unfortunately. If it can be coaxed and/or tickled in all the right places it’ll doubtless be a great tool, but for now you end up guessing which (mistaken!) gender it’s trying to use a little too often to make it useful.
I think it’s because I recently tried to make it get the contractions right and now it’s adding bad contractions. Could that be it? Before, it would say sh*t like “ich gehe zu der Arbeit”, never “zu dem Arbeit”. Now, it’s primed to contract. I might have even added a zum as example.
Also, I switched from 4o to 5.2 mini, which was supposed to be better.
Anyway, i’ll probably add the contractions to places that always have them via good old vanilla javascript so poor AI doesn’t get confused.
*Won’t somebody please think of the AI!*
Yep, I think you’re spot on, it’s the contractions that seem to trip the thing up. I just tried 20 more basic level questions and encountered the following silliness (with “correct” answers as per KI given in parentheses):
Wir fliegen ___ Iran. (ins)
Ich bin ___ Küche. (im)
Wir sind ___ Niederlande im Urlaub. (im)
Ich gehe ___ Arbeiten. (zum)
All right, I think I fixed a large portion of the problem, but there’s still a glitch with the distractor selection, which I do manually in js.
But yeah… accuracy should be back to like 90%.
Vastly improved, I’m happy to be able to relate! In a sample set of about 50 question I only noticed one slip-up.
“Ich bin (beim) Mutter”.
Somewhat perplexing that it still occasionally trips up over these decidedly deterministic things, even given an additional js-powered thruster rocket in/up/through the back end: but then, of course, *LLMs move in mysterious ways…*
Ah, sweet, that’s great to hear!
the glitch is of course exceptionally stupid again but there’s just no way to avoid it, except with hard code that catches it. But that gets very big very fast if you want to have the option for my mom and your mom and his mom and so on instead of just the mom.
Just yesterday I saw the prompt of a friend’s app for creating examples, let’s call it leedsang, and he was experimenting with fillng up the example database with AI. The prompt they had crafted was like 2 pages long with all kinds of guard clauses and instructions and the results were… 80% usable, 10% not really and 10% trash. Like, no better than my Ai example button which runs on like 5 lines. So they did all this prompt engineering work for nothing. You can’t prompt your way around the AI tweaking out.
Seems like a lot of mistakes. These are just a few examples. I’ve come across several more just in the first 10 minutes of trying this.
Meine Mutter steht gerade ___ Küche und kocht. (My mother is standing in the kitchen….) it says ‘im’ is correct.
Ich gehe ___ Supermarkt, um Brot zu kaufen. (I’m going to the supermarket…) it says ‘ins’ is correct as well as ‘zum’
Ich gehe _____ Arbeit. (I am going to work.) it says ‘zum’ is correct.
Hmmm, this is bad actually. I recently modified my prompting and switched models, so maybe that messed it up.
I”ll have to try it out again and try to improve that. It’s not fit for purpose when it makes this many mistakes.
Ich gehe _____ Arbeit. (I am going to work.)
Wouldn’t the answer be ‘zur’? The correct answer indicated is ‘zum’. Zur isn’t an option.
(Never mind: just saw the other person’s comment below – AI glitch.)
Freaking awesome even at this early stage. Thank you , thank you, thank you!!
Glad you like it so much :)!
Prepositions are definitely something I need a lot of practice on. I’ll be waiting for your in-depth series on it. Till then, I’ll be using your tool.
German preps are to be sure a pesky lot, that’s a fact, since unlike in English, they’re case driven!
However sometimes usage is determined by context, as in my examples below “AN die Arbeit..” vs. “ZUR Arbeit gehen””.
A big thank you to the German learning community here! I’ve been lucky enough to be sponsored for a membership by the generous people who paid a little extra to help others out. I’m currently going through a difficult time, and this gesture really means the world to me. I really appreciate the support and look forward to learning with you all. Danke schön!
Should it be zur Arbeit because it’s feminine? or is zum Arbeit really correct?
Definitely should be zur Arbeit! That was a typical AI glitch!
Great help, Emanuel, thanks for that.
Haven’t you thought about having all the tool you launched in a single app?
THAT would be a very interesting.
Greetings,
Victor
That’ll come down the line :)
Thanks for the article! I get confused between zu and auf. „Ich gehe auf die Party” or „Ich gehe zur Party”? „Ich gehe auf den Markt” or „Ich gehe zum Markt”?
For party it doesn’t really matter that much.
For party, “zu” is more common and I’d use that as the default, while for Markt, “auf” is the default, but “zu” is also fine, especially when talking about running errands there or speaking about giving directions.
There are some contextual dependencies, that make one more idiomatic than the other, but it’s super small and maybe just in my head, so don’t worry about it.
This is the first place I have found that explains when to use certain prepositions in German. Thank you.
Happy it helps, even though it’s not that detailed.
Love it. Thank you