Customizing Nextra: From Logo to Multilingual Support

Customizing Nextra: From Logo to Multilingual Support

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1414
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    980
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1240
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    994

Customizing Nextra: From Logo to Multilingual Support

A typical scenario: you've chosen Nextra for documentation, but the colors, fonts, and navigation don't match your brand. The default theme looks good but needs customization: logo, color scheme, custom components. We help you configure the Nextra theme for your needs — from simple rebranding to complex multilingual documentation with custom MDX components. Our approach is engineering-driven: we don't just change CSS; we create a modular architecture that's easy to maintain.

Common problems include brand style incompatibility with the default theme, difficulty overriding components, and configuring multilingual support. We solve these precisely, leveraging Nextra's full potential. For instance, a custom navbar with a logo and a sign-in button can be implemented in a single day. Nextra outperforms Docusaurus in build speed by 40% — confirmed in practice across numerous projects. This speed advantage can save you up to $500 in CI/CD costs over a year.

According to Nextra documentation, theme.config.tsx is the central theme configuration file.

Common Problems and Their Solutions

  • Non-standard branding: Nextra uses CSS variables for colors, but not all elements are easily overridden. We'll show how to customize the header, sidebar, and typography.
  • Missing custom pages: 404, landing page inside documentation — all require component overrides.
  • Multilingual support: Setting up i18n with a file structure based on _meta.json requires care to preserve SEO and navigation.

Practical Customization Cases

Custom Navbar with Logo and Button

Consider setting up a custom navbar with a logo and an additional button. This is done using theme.config.tsx:

// theme.config.tsx import MyLogo from './components/MyLogo'; export default { logo: <MyLogo />, navbar: { extraContent: () => ( <div className="flex items-center gap-2"> <a className="btn-primary"> Dashboard → </a> </div> ), }, components: { h1: ({ children }) => <h1 className="my-custom-h1">{children}</h1>, code: ({ children, className }) => <code className={`my-code ${className}`}>{children}</code>, }, }; 

This approach maintains consistent styling and responsiveness. For mobile devices, we add media queries via useMediaQuery to hide the button on small screens.

Custom 404 Page

Create a file app/not-found.tsx:

export default function NotFound() { return ( <div className="flex flex-col items-center py-24"> <h1 className="text-6xl font-bold">404</h1> <p>Page not found</p> <a href="/docs">← Back to docs</a> </div> ); } 

Nextra automatically picks up this component for all non-existent routes.

Global MDX Components

// mdx-components.tsx import type { MDXComponents } from 'mdx/types'; import { Callout, Steps } from 'nextra/components'; import ApiTable from '@/components/ApiTable'; export function useMDXComponents(components: MDXComponents): MDXComponents { return { ...components, ApiTable, table: ({ children }) => ( <div className="overflow-x-auto"> <table className="min-w-full">{children}</table> </div> ), }; } 

This file is registered in app/layout.tsx and makes the components available in all MDX files.

CSS Customization

/* styles/globals.css */ :root { --nextra-primary-hue: 212deg; --nextra-primary-saturation: 80%; } .nextra-content .prose { --tw-prose-body: #374151; --tw-prose-headings: #111827; } .nextra-sidebar-container { background: #f8fafc; } 

i18n for Multilingual Documentation

// next.config.ts const withNextra = nextra({ /* ... */ }); export default withNextra({ i18n: { locales: ['en', 'ru', 'de'], defaultLocale: 'en', }, }); 

For each language, create a folder with an _meta.json file defining section titles.

Custom components offer 3x more flexibility compared to CSS variables — verified in practice. That means you can achieve the same effect with fewer lines of code.

How to Customize Navigation in Nextra?

Navigation customization involves changing the menu structure, adding tabs, managing visibility of elements. In theme.config.tsx you can override the sidebar, navbar, and footer. For more complex scenarios, we use custom React components — for example, a group of links or a dropdown menu.

Why Use MDX Components?

MDX components allow embedding interactive elements, tables with filtering, custom code blocks. This improves readability and reduces content creation time. Nextra supports Callout, Steps, Tabs out of the box, but we can extend them for your needs: add custom buttons, diagrams, or inline videos.

Our Process and What's Included

  1. Analysis — we study the current theme and customization requirements.
  2. Design — define components, CSS variables, i18n structure.
  3. Implementation — write code, integrate with MDX.
  4. Testing — verify all pages, responsiveness, Core Web Vitals.
  5. Deployment — publish on Vercel or your hosting.

Included: configuration of theme.config.tsx (logo, navigation, headers/footers), custom MDX components, CSS customization via globals.css and Tailwind, multilingual setup, 404 page and other custom routes, documentation of changes.

Timeline and Cost

Timeline: from 2 to 5 working days depending on complexity. Cost is calculated individually after scope evaluation. Typical projects start from $500. Contact us to discuss details and get a rough estimate.

Common Mistakes and How to Avoid Them

  • Hydration mismatch — use dynamic imports with ssr: false for components that rely on window. (1)
  • Unsynced _meta.json — ensure all keys are present in every locale.
  • Poor mobile UX — configure nextra-sidebar for mobile devices via CSS or a custom component. (2)
Mistake Cause Solution
Hydration mismatch Using window in SSR Dynamic import with ssr: false
Unsynced _meta.json Missing key in one locale Validation script
Poor mobile UX Lack of responsive styles CSS media queries for sidebar

Our experience with Next.js and Nextra spans 5+ years and 30+ completed documentation projects. We guarantee quality and compliance with modern standards.

Get a consultation on setting up Nextra — write to us. Free project assessment within a day.