A German döner is roasted meat, a lot of vegetables, toasted bread, and sauce. Whether that is “healthy” depends on the portion, the sauce, and what you compare it to.
The vegetable pile is the structural difference from a gyro or a burger. Most of the volume is cabbage, lettuce, tomato and onion. The meat is a fixed shaved portion, not a second patty. The bread is one piece of toasted pide, not a bun plus cheese plus bacon.
What changes the number
Sauce. Creamy garlic or yogurt sauces carry the fat. Chili or herb sauces usually do not. A sandwich with two creamy sauces is a different meal from one with chili only.
The build. The sandwich is bread plus fillings. A wrap is less bread structure, same fillings. A salad box drops the bread. A fries box adds fried potatoes under the same fillings. Rice is an American add.
The cone. A warehouse gyro cone that is beef, water, wheat breadcrumbs and soy is a different calorie and a different food from a filler-free stack. Nutrition labels on commodity cones are not nutrition labels on German döner.
Approximate ranges
One US shop that publishes approximates — Döner Haus — lands around 800–850 calories for the pide sandwich, 750–800 for the wrap, 550–600 for a salad box, 700–750 for a rice box, and 800–850 for a fries box. Those are that shop’s numbers, not a Berlin standard. A larger portion, extra sauce, or cheese will move them.
Protein on a salad box at those shops is often around 45 grams, because the meat portion is the same and the bread is gone. Net carbs drop hard on salad; they do not drop on the sandwich.
What it is not
It is not a salad. It is not diet food. It is also not a 1,400-calorie smash burger. The German habit is everyday food at an everyday price, eaten standing, with vegetables as most of the volume. That is a different nutritional shape from most American fast food, and it is why the sandwich travelled.
The lever
Sauce and the base move the number
The meat portion is fixed. The bread, the fries and the creamy sauce are what you are actually choosing.