IronOCR How-Tos Read Multiple Languages How to use Multiple Languages with Tesseract Kannapat Udonpant Updated:July 28, 2025 In the realm of Optical Character Recognition (OCR) technology, IronOCR is a well-regarded tool known for its ability to extract text from various languages and scripts. We use the Tesseract Engine to provide a reliable and easy-to-use OCR tool. In this article, we'll explore how IronOCR effectively handles text in multiple languages, thanks to Tesseract. Whether you're an experienced developer looking for a reliable multilingual OCR solution or simply curious about how it all works, this article will help you understand IronOCR and its Tesseract engine, shedding light on the capabilities of this invaluable tool. Get started with IronOCR Start using IronOCR in your project today with a free trial. First Step: Start for Free How to use Multiple Languages with Tesseract Download a C# library for reading multiple languages Prepare the PDF document and image for reading Install additional language packs via NuGet Use the AddSecondaryLanguage method to enable the desired languages Set the Language property to change the default language Read Multi-Language PDF Example IronOcr provides about 125 language packs; however, only English is installed by default. The rest can be downloaded from NuGet. You can have a look at all the available language packs here.. In the following example, I will show you the code for using multiple languages in IronOcr to extract text from a PDF file. :path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-pdf-input.cs using IronOcr; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Set secondary language to Russian ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian); // Add PDF using var pdfInput = new OcrPdfInput(@"example.pdf"); // Perform OCR OcrResult result = ocrTesseract.Read(pdfInput); // Output extracted text to console Console.WriteLine(result.Text); Imports IronOcr Imports System ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Set secondary language to Russian ocrTesseract.AddSecondaryLanguage(OcrLanguage.Russian) ' Add PDF Dim pdfInput = New OcrPdfInput("example.pdf") ' Perform OCR Dim result As OcrResult = ocrTesseract.Read(pdfInput) ' Output extracted text to console Console.WriteLine(result.Text) $vbLabelText $csharpLabel You can add any number of secondary languages using the AddSecondaryLanguage method. However, please note that this addition may affect speed and performance. The priority of the language depends on the order in which it is added, with the first added having higher priority. Read Multi-Language Image Example The primary language is set to English by default. To change the primary language, set the Language property to the desired language. Afterward, you can also add secondary languages. // Example code for reading multi-language image with IronOCR using IronOcr; // Initialize IronTesseract OCR engine var Ocr = new IronTesseract(); :path=/static-assets/ocr/content-code-examples/how-to/ocr-multiple-languages-image-input.cs // Example code for reading multi-language image with IronOCR using IronOcr; // Initialize IronTesseract OCR engine var Ocr = new IronTesseract(); using IronOcr; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Set primary language to Hindi ocrTesseract.Language = OcrLanguage.Russian; ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese); // Add image using var imageInput = new OcrImageInput(@"example.png"); // Perform OCR OcrResult result = ocrTesseract.Read(imageInput); // Output extracted text to console Console.WriteLine(result.Text); ' Example code for reading multi-language image with IronOCR Imports IronOcr ' Initialize IronTesseract OCR engine Private Ocr = New IronTesseract() Imports System ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Set primary language to Hindi ocrTesseract.Language = OcrLanguage.Russian ocrTesseract.AddSecondaryLanguage(OcrLanguage.Japanese) ' Add image Dim imageInput = New OcrImageInput("example.png") ' Perform OCR Dim result As OcrResult = ocrTesseract.Read(imageInput) ' Output extracted text to console Console.WriteLine(result.Text) $vbLabelText $csharpLabel If you do this right, you can expect results like the ones below. Conclusion In brief, IronOCR, backed by the powerful Tesseract engine, excels at extracting text from documents in multiple languages. It's an indispensable tool for handling the complexities of reading text in many languages, offering developers and curious minds a versatile solution. Whether you're processing PDFs with text in various languages or working with multilingual content in images, IronOCR simplifies the task of recognizing and extracting text in multiple languages. Frequently Asked Questions What is OCR? IronOCR is a tool that uses the Tesseract Engine to perform Optical Character Recognition (OCR) on text in various languages and scripts. How can I get started with reading multiple languages? To get started with IronOCR, download the C# library from NuGet, prepare your PDF or image for reading, install additional language packs, and use the AddSecondaryLanguage method to enable the desired languages. How do I add multiple languages to an OCR tool? You can add multiple languages to IronOCR by using the AddSecondaryLanguage method. Language packs can be installed via NuGet. What is the default language for this OCR tool? The default language for IronOCR is English. You can change the primary language by setting the Language property to your desired language. Can I change the primary language in this OCR tool? Yes, you can change the primary language by setting the Language property to the desired language. Does adding multiple languages affect performance? Yes, adding multiple languages can affect the speed and performance of IronOCR. The priority of the language depends on the order in which it is added. How can I read a multi-language PDF? To read a multi-language PDF, initialize the IronTesseract OCR engine, set the primary language, add secondary languages, and then use the OCR engine to read the PDF. What is the process for reading a multi-language image? To read a multi-language image, initialize the IronTesseract OCR engine, set the primary language, add secondary languages, and then use the OCR engine to read the image. How many language packs are provided? IronOCR provides approximately 125 language packs, although only English is installed by default. Where can I find more information about available language packs? You can view all available language packs for IronOCR on their website under the languages section. Kannapat Udonpant Chat with engineering team now Software Engineer Before becoming a Software Engineer, Kannapat completed a Environmental Resources PhD from Hokkaido University in Japan. While pursuing his degree, Kannapat also became a member of the Vehicle Robotics Laboratory, which is part of the Department of Bioproduction Engineering. In 2022, he leveraged his C# skills to join Iron Software's engineering team, where he focuses on IronPDF. Kannapat values his job because he learns directly from the developer who writes most of the code used in IronPDF. In addition to peer learning, Kannapat enjoys the social aspect of working at Iron Software. When he's not writing code or documentation, Kannapat can usually be found gaming on his PS5 or rewatching The Last of Us. Reviewed by Jeffrey T. Fritz Principal Program Manager - .NET Community Team Jeff is also a Principal Program Manager for the .NET and Visual Studio teams. He is the executive producer of the .NET Conf virtual conference series and hosts 'Fritz and Friends' a live stream for developers that airs twice weekly where he talks tech and writes code together with viewers. Jeff writes workshops, presentations, and plans content for the largest Microsoft developer events including Microsoft Build, Microsoft Ignite, .NET Conf, and the Microsoft MVP Summit Ready to Get Started? Free NuGet Download Total downloads: 4,072,123 View Licenses