---
title: "Extracting text from multilingual images | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/csharp/extraction/read-text-from-image-multi-language/"
md_url: "https://www.nutrient.io/guides/dotnet/csharp/extraction/read-text-from-image-multi-language.md"
last_updated: "2026-10-08T00:00:00.000Z"
description: "Extract text from multilingual images using OCR with Nutrient .NET SDK."
---

# Extracting text from multilingual images

Multi-language text extraction addresses a fundamental challenge in global operations where organizations must process documents containing content in multiple languages within the same image. This capability is essential for international companies handling multilingual contracts, government agencies processing diverse public documents, and educational institutions managing multicultural content.

Simultaneously recognizing and extracting text in multiple languages eliminates the need for separate workflows. This enables the efficient handling of documents that contain mixed-language text, such as:

- International business correspondence

- Multilingual product documentation

- Travel documents and passports

- Cross-border legal materials

From automated translation workflows to compliance systems processing multilingual regulatory documents, multi-language OCR enables businesses to handle diverse linguistic content with the same efficiency as single-language processing. This breaks down language barriers in document digitization and content management.

## Streamlining document workflows with our.NET SDK

Developers can implement this feature by adding just a few lines of code to their applications. The SDK integrates multi-language OCR-based text extraction directly, eliminating the requirement for external tools or complex setups. Whether you’re building a document processing pipeline or adding extraction functionality to a web application, our SDK provides a reliable and efficient solution right out of the box.

## Preparing the project

Import the Nutrient namespace:

```csharp

using Nutrient;

```

## Loading and configuring multi-language OCR

Open the image file inside a [using statement](https://learn.microsoft.com/dotnet/csharp/language-reference/statements/using) and configure the vision API with multi-language support. Setting the default languages tells the OCR engine which language models to load for optimal recognition accuracy:

```csharp

try
{
    using Document document = Document.Open("input_ocr_multiple_languages.png");
    // Configure OCR engine for text extraction
    document.Settings.VisionSettings.Engine = VisionEngine.AdaptiveOcr;

    // Configure multiple languages for recognition
    document.Settings.OcrSettings.DefaultLanguages = "eng+fra";

```

The `DefaultLanguages` property accepts a string with language codes separated by plus signs (for example, “eng+fra”). Each language addition loads specialized recognition models that include:

- Character sets specific to the language.

- Linguistic patterns and dictionaries.

- Contextual analysis rules for improved accuracy.

## Executing multi-language text extraction

Create a vision instance and extract the text content. The vision API applies language-specific recognition algorithms and extracts text while maintaining language accuracy:

```csharp

    Vision vision = Vision.Set(document);
    string contentJson = vision.ExtractContent();

```

The OCR engine automatically handles language transitions within the document, maintaining accuracy when text switches between languages and preserving the natural flow and organization of multilingual content.

## Saving extracted results

Write the extracted content to a JSON file for use in downstream applications:

```csharp

    File.WriteAllText("output.json", contentJson);
}
catch (NutrientException e)
{
    Console.Error.WriteLine($"Error: {e.Message}");
    Environment.Exit(1);
}

```

This creates a JSON file containing all recognized text from the image in all configured languages. The structured output is ready for:

- Translation workflows

- Content management systems

- Automated data processing

## Understanding the output

The `ExtractContent` method returns a JSON structure that provides comprehensive metadata for the processed document. This structure includes:

- **Text content** — The full string of extracted text, preserving multi-language characters and symbols.

- **Bounding boxes** — The precise (x, y) coordinates and dimensions (width/height) of text regions on the page.

- **Word-level data** — Detailed information for individual words, including their specific coordinates and confidence scores.

In trial mode, extracted output can include hidden-content placeholders that mask parts of the text. For full validation of multilingual extraction quality, test with a valid production license.

## Error handling

The SDK throws a `NutrientException` if content extraction fails. This can happen if the image cannot be processed or if OCR resources aren’t available. Handle exceptions appropriately in production code to ensure a robust document processing pipeline.

## Conclusion

That’s all it takes to extract text from a multi-language image! The extracted content preserves the linguistic diversity and content organization of the original image while enabling further processing, translation, or analysis workflows. You can also download [this ready-to-use sample package](https://www.nutrient.io/downloads/samples/csharp/read-text-from-image-multi-language.zip), which is fully configured to help you explore Nutrient.NET SDK and its seamless multi-language text extraction capabilities.
---

## Related pages

- [Nutrient .NET SDK extraction guides](/guides/dotnet/csharp/extraction.md)
- [Applying OCR to a PDF page](/guides/dotnet/csharp/extraction/apply-ocr-to-pdf-page.md)
- [Applying OCR to a PDF document](/guides/dotnet/csharp/extraction/apply-ocr-to-pdf.md)
- [Classifying documents](/guides/dotnet/csharp/extraction/classify-document.md)
- [Generating image descriptions using Claude](/guides/dotnet/csharp/extraction/describe-image-with-claude.md)
- [Generating image descriptions using local AI](/guides/dotnet/csharp/extraction/describe-image-with-local-ai.md)
- [Generating image descriptions using OpenAI](/guides/dotnet/csharp/extraction/describe-image-with-openai.md)
- [Detecting document language](/guides/dotnet/csharp/extraction/detect-document-language.md)
- [Extracting data from images using ICR](/guides/dotnet/csharp/extraction/extract-data-from-image-icr.md)
- [Extracting data from images using OCR](/guides/dotnet/csharp/extraction/extract-data-from-image-ocr.md)
- [Extracting data from images using vision language models](/guides/dotnet/csharp/extraction/extract-data-from-image-vlm.md)
- [Extracting data from specific pages](/guides/dotnet/csharp/extraction/extract-data-from-specific-pages.md)
- [Extracting form fields from images](/guides/dotnet/csharp/extraction/extract-form-fields-from-image.md)
- [Extracting structured data from documents](/guides/dotnet/csharp/extraction/extract-structured-data.md)
- [Generating extraction schemas](/guides/dotnet/csharp/extraction/generate-extraction-schema.md)
- [Extracting JSON data from a PDF document](/guides/dotnet/csharp/extraction/json-data-extraction.md)
- [Labeling form fields with a vision language model](/guides/dotnet/csharp/extraction/label-form-fields-with-vlm.md)
- [Parsing a document into structured content](/guides/dotnet/csharp/extraction/parse-document.md)
- [Extracting text from PDF documents](/guides/dotnet/csharp/extraction/pdf-to-text.md)
- [Reading barcodes with vision extraction](/guides/dotnet/csharp/extraction/read-barcodes-with-vision.md)
- [Extracting text from images](/guides/dotnet/csharp/extraction/read-text-from-image.md)
- [Searching document text](/guides/dotnet/csharp/extraction/search-document-text.md)
- [Speeding up first ICR operation by predownloading models](/guides/dotnet/csharp/extraction/speed-up-first-icr-by-downloading-requirements.md)

