Hotellit Tallinnassa tarjoavat matkailijoille valinnanvaraa laidasta laitaan. Viron suosittu matkailukaupunki tarjoaa majoituspaikkoja etenkin kaupungin keskustasta ja merenrannan läheltä, mutta myös muilta alueilta voi löytää sopivia hotelleja. Normaalisti matkailijat haluavat kuitenkin majoittua vanhassakaupungissa tai muilla keskustan keskeisillä alueilla, joista on helppo pääsy lukuisiin kauppoihin, monipuolisiin ravintoloihin ja muihin vierailukohteisiin. Keskustan hotellit sijaitsevat myös lähellä rautatieasemaa.
Hintahaarukka on Tallinnan hotelleissa laaja, ja budjettimatkailijakin voi löytää kaupungin keskustasta sopivan edullisen hotellin. Esimerkiksi guesthouse-tyylisen bed & breakfast -majoituksen voi saada keskustasta tai keskustan tuntumasta noin 40–50 euron hintaan yöltä, keskustan ulkopuolelta vieläkin edullisemmin. Jos haluat nauttia viiden tähden hotellista aamiaisineen, kylpyammeineen ja ehkä uima-altaineenkin, voi hotelliyö maksaa 100 euroa tai sesonkiaikaan jopa lähemmäs 200 euroa. Silti yöpyminen Tallinnassa on edullisempaa kuin läheisessä Helsingissä. Tallinnan kylpylähotellit ovat suosittuja suomalaisten keskuudessa, ja kaupungissa täyden palvelun kylpyläloman voi viettää hyvinkin halpaan hintaan.
Vanhakaupunki idyllisine katuineen ja historiallisine pienine hotelleineen on Tallinnan parhaita yöpymispaikkoja esimerkiksi gastronomian ystäville ja lapsiperheille. Lasten kanssa matkustavien kannattaa harkita myös Piritan vehreään kaupunginosaan majoittumista. Keskustan ulkopuolella hinnat laskevat, joten monet reppureissaajat ja muut matalan budjetin matkailijat viihtyvät esimerkiksi Uusi Maailm -kaupunginosan halvoissa majoituspaikoissa. Suositus nuorille on Kalamajan kaupunginosa, joka kuuluu Tallinnan trendikkäimpiin alueisiin. Kaupunginosalla on hyvä sijainti: se on lähellä keskustaa ja hyvien joukkoliikenneyhteyksien äärellä. Mikäli matkaat kaupunkiin lentokoneella tai matka jatkuu Tallinnasta lentäen maailmalle, yksi vaihtoehto on yöpyä lentokentän läheltä löytyvissä kohtuuhintaisissa hotelleissa.