Next.js in Germany
Next.js development services for German companies
A Next.js development company working with German teams. The BFSG made accessibility a commercial obligation, and German compound words break more layouts than any other language we build in.
Two things make German builds different from everything else on this list. One is regulatory and recent. The other is typographic and permanent.
The BFSG is a shipping requirement now
The Barrierefreiheitsstärkungsgesetz - Germany's implementation of the European Accessibility Act - has applied since June 2025, and it reaches private-sector e-commerce rather than only public bodies. For most online shops that is the first time accessibility moved from a nice-to-have into something with a deadline attached.
The technical standard everyone converges on is WCAG, and for an App Router application the failures cluster in three places that have nothing to do with alt text:
Focus on client-side navigation. A <Link> transition updates the DOM
without a page load. If nothing moves focus and nothing is announced, a
screen reader user has no idea the page changed. This is the single most
common App Router accessibility defect we find, and it is invisible to
automated scanners.
Loading states that announce nothing. A loading.tsx that renders a
spinner is a visual signal only. Without a live region it is silence.
We wrote about why this file is misunderstood.
Forms rendered by Server Actions. Validation errors that appear after a round trip need to be associated with their inputs and announced. The pattern is not hard, but the default implementation does not do it for you.
Separately, German sites carry an Impressum obligation - a legally required imprint with named, reachable company details. It is a content requirement rather than an engineering one, but it needs a real route with a real canonical, not a modal.
German breaks your layout before any other language
This is not an opinion. We hit it building this site, twice, and measured it both times.
WEBANWENDUNGSENTWICKLUNG is one token. At the size we were setting
service labels it needed 265 pixels and the grid column it sat in was 256.
There is nothing inside the word to break at, so CSS did the only thing it
could: it made the column wider, which pushed the row wider than the
viewport and produced a horizontal scrollbar on every mobile screen.
The failure mode is worth understanding because it is counter-intuitive: an
auto-sized grid track cannot shrink below its content's minimum width.
A max-width on the child does nothing. The fix is min-w-0 on the grid
item, plus an explicit break strategy on the text, and the only way to know
it worked is to render the page at 320 pixels and measure.
hyphens: auto is not the answer on its own - without a hyphenation
dictionary loaded for the language it does nothing at all, silently. We run
a script that renders every page at seven widths in a real browser and
fails the build on horizontal overflow, because reviewing German layouts by
eye does not work.
If your site has a German locale and nobody has measured it at 320px, there is a good chance it is broken right now.
Typical engagements
German clients come to us most often for performance engineering and technical SEO, and increasingly for accessibility work inside maintenance and support. Where there is an older Pages Router application, migration and rescue is the route, and it starts with an audit so the estimate is based on the codebase rather than on a call.
