\title{EkiT pRbn/dh} \author{Ajana elkhk} \date{pNNicesh {oi}bshakh, 1413}
\section{pRthm pirec/chd}
rbiin/dRnaethr EkiT kibtar shuru inec ed{O}ya Hl.
kt Ajanaer jana{I}el tuim \\ kt gher idel ThNNa{I}. \\
duurek kirel inkT bn/dhu,\\ prek kirel bha{I}....


Although it's not completely clear what your question is asking, I would recommend using XeLaTeX and the polyglossia package for Bengali. This way you just enter your Bengali text in regular form.

I used the Akaash font from here: Free Bangla Fonts. Since I don't speak Bengali, I translated a short text from English using Google Translate. My apologies if it did an awful translation.

% !TEX TS-program = XeLaTeX

\newfontfamily\englishfont[Scale=MatchLowercase]{Linux Biolinum O}

এটি একটি ইংরেজি লেখা ছোট অধ্যায় যে বাঙ্গালী এ \textenglish{Google Translate} দ্বারা অনুবাদ করা হয়েছে. এটা খুব স্পষ্ট নয় যদি সঠিক অনুবাদ বা না কিন্তু ক্রিয়াটি ফন্ট দেখাতে যথেষ্ট হওয়া উচিত.

output of code

As the example shows, and as mentioned in the comments, this does not make all numerals Bengali. For a solution to this problem, see:

  • 1
    The numerals are in English. Is there any way to make it in Bengali?
    – hmhsl
    Jan 25 '14 at 13:01
  • @HaseebMahmud See the accepted answer to this question: How to get devanagari numerals in latex or xetex
    – Alan Munn
    Jan 25 '14 at 17:53
  • @AlanMunn : Is there any conversion chart for english to bengali , for the way of the OP?
    – Qwerty
    Apr 21 '16 at 8:10

The problem with polyglossa is that its support for Bangla (or Bengali) is quite limited. This prompted me to write a new package latexbangla, which extends the former's functionalities and addresses most of the Bangla related typesetting issues. It also provides full support for common commands and environments, automatic transition from Bangla to English (and vice versa), and a patch to fix unproportionate whitespace error in popular Bangla fonts. With latexbangla, you can simply type usual LaTeX syntax and expect everything to behave as it should.

Sample code: (from package documentation)

            banglattfont=Siyam Rupali
পিথাগোরাস(Pythagoras)-এর উপপাদ্যটি হল, \textit{সমকোণী ত্রিভুজের অতিভুজের উপর অঙ্কিত  
বর্গক্ষেত্রের ক্ষেত্রফল অপর দুই বাহুর উপর অঙ্কিত বর্গক্ষেত্রের ক্ষেত্রফলের সমষ্টির সমান।}
অর্থাৎ কোন সমকোণী ত্রিভুজের অতিভুজ $c$ এবং অপর দুই বাহু $a$ এবং $b$ হলে,
লক্ষ্য করুন, এখন পর্যন্ত টেক্সট প্রদর্শনের জন্য \textbf{কালপুরুষ} ফন্ট ব্যবহৃত হয়েছে।\\
\texttt{এবার, টেলিটাইপ(Teletype) টেক্সট প্রদর্শনের জন্য \textbf{সিয়াম রূপালী} 
ফন্ট ব্যবহৃত হল।}\\
পুনরায় টেক্সট প্রদর্শনের জন্য \textbf{কালপুরুষ} ফন্ট ব্যবহৃত হচ্ছে।

enter image description here

UPD: There is number breaking problem with new polyglossia and LaTeXbangla.

Way to fix that pointed here. This problem is mainly because of polyglossia bug. Which was fixed later on. But LaTeXbangla wasn't updated.

  • The package "latexbangla" is removed from CTAN.
    – Supriyo
    Dec 29 '16 at 10:24
  • 1
    The package 'banglatex' is missing from CTAN, not latexbangla. I have updated the link, check again.
    – Adib Hasan
    Jan 11 '17 at 12:17
  • @AdibHasan, does it support the Nikosh2 font? Apr 14 '17 at 23:03
  • I was using your code in a different project and got "! Package polyglossia Error: The current roman font does not contain the Bengal i script! (polyglossia) Please define \bengalifont with \newfontfamily." Apr 15 '17 at 0:02
  • Please give me a link to this font. I'll let you know.
    – Adib Hasan
    Apr 16 '17 at 7:26

As of 2020, LuaLaTeX (with the HarfBuzz renderer) is able to display Bengali. The babel package also supports it. The following template (based on the accepted answer) runs on LuaLaTeX in TeX Live 2020.


\babelprovide[onchar=fonts ids]{english}
\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX, Renderer=HarfBuzz}

%% These fonts are abailable at: https://www.google.com/get/noto/
          [Ligatures=Common,Scale=1.0,Language=Default]{Noto Serif}
          [Language=Default]{Noto Sans}
          [Language=Default]{Noto Sans Mono}
          [Language=Default]{Noto Serif Bengali}
          [Language=Default]{Noto Sans Bengali}
          [Language=Default]{Noto Sans Bengali UI}


এটি একটি ইংরেজি লেখা ছোট অধ্যায় যে বাঙ্গালী এ Google Translate দ্বারা অনুবাদ করা হয়েছে. এটা খুব স্পষ্ট নয় যদি সঠিক অনুবাদ বা না কিন্তু ক্রিয়াটি ফন্ট দেখাতে যথেষ্ট হওয়া উচিত.

Noto Fonts sample

This sample automatically switches from the Bengali font to the English font whenever you switch to the Latin script, so “Google Translate” appears in Noto Serif, rather than Noto Serif Bengali. If you remove the onchar=fonts ids option, you can still switch between them with \textenglish, \begin{english}, etc.

You can change the numbering of pages, chapters, equations and so on to Bengali by adding the maparabic option to \babelprovide, and can also redefine other counters such as alph and Alph.

You can also use your fonts of choice. The Language=Default font features are not strictly necessary. I included them to suppress some harmless warning messages.


Nothing is impossible

\newfontface{\en}{[Chapaza Italic.ttf]} %%this is optional, if you want to use a secondary font. Any english font is supported

\chapter{আমি বাংলায় গান গাই। }
এখন খুব সহজে বাংলা ফন্ট ব্যবহার করুন\\ 
{\en fontspec} প্যাকেজ এবং {\en XeLatex} ইঞ্জিন এর সাহায্যে।\\

{\Large বড়ো অক্ষর}\\
{\en\ Hope this will help you a lot}

working very well, just download Kalpurush.ttf font and past it into the project folder. remember that the font name need to be accurate. Now change your latex compile engine to XeLatex instead of PdfLatex. Kalpurus.ttf download link: Click

  • Welcome to TeX.SX! You can highlight code in your post using back-ticks. To highlight code-blocks, either indent them by four spaces or use the {} on the gui.
    – user30471
    Jan 4 '18 at 14:16
  • Can you please add a link where the font can be downloaded from?
    – egreg
    Jan 4 '18 at 14:39
  • 1
    How is this different from the other answers (apart from the fonts chosen)?
    – Alan Munn
    Jan 4 '18 at 22:29
  • choosing a font is the main thing while you are using bangla. You have used Akaash.ttf and that is not good in arranging the bangla alphabets
    – Ravi
    Jan 5 '18 at 5:59
  • 1
    @ravi Then you should explain why in your answer. I have no stake in this issue, but if you want to help other Bangla users your answer should explain why this is a better approach. Also, the other answer uses the same main font as your example, but also suggests the banglalatex package. Do you have problems with that package too?
    – Alan Munn
    Jan 5 '18 at 16:02

enter image description here

%\setmainfont[]{kalpurush.ttf} % u can use only one font 

\title{বাংলা আমার মায়ের ভাষা}
\author{বিপুল }
\date{শনিবার ২১শে ভাদ্র ১৪২৭ বঙ্গাব্দ}

কিভাবে সহজে ঝামেলামুক্তভাবে বাংলা লিখবেন? 
\item প্রথমে https://www.overleaf.com  তে যান, একাউন্ট খুলুন, এবং প্রজেক্ট তৈরি করুন। 
\item আপনার  পছন্দের বাংলা ফন্ট ডাউনলোড করুন, আমি কালপুরুষ ব্যবহার করেছি। 
\item ফন্টটি ওভারলিফে আপলোড করুন 
\item usepackage{fontpec} এবং setmainfront(kalpurush.ttf) সেট করা হয়েছে। 
\item এখন পছন্দ মতো বাংলা লিখুন।
\item আপনি  চাইলে বোল্ড, ইটালিক বা অন্য স্টাইলের জন্য ভিন্ন ভিন্ন ফন্ট ব্যবহার করতে পারেন। 
\item শুভকামনা রইলো। 
  • I want to use Kalpurush font only for Bengali text, and the default English font elsewhere. How to achieve that in Overleaf? Nov 19 '20 at 15:08

I'm using overleaf for Bangla writing. There is no installation and it's easy. Follow my instruction.

  • 4
    Please do not link to remote ressources for this as the remote content from your GitHub repository might not be available in the future. Instead please add a copy of the instructions to your answer here.
    – epR8GaYuh
    Jul 26 '19 at 8:41

Download any Bengali Unicode font from here and add it to the directory where your .tex file resides.

I downloaded the Kalpurush font.

Then add two commands like this before the \begin{document} command.


(Use the name of the ttf file you downloaded)

Now you can write Bengali text anywhere like this:

{\ben কম্পিউটার বিজ্ঞান} 

Don't forget to put everything inside curly braces like I did above. Compile using XeLaTeX.

I have done this in Overleaf and it is working perfectly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.