Headed to Colombia? Here are 13 things to know before your trip

The biggest danger when visiting Colombia? You might never want to leave. As you plan your trip, these tips will help you make the most of your trip.

Feb 28, 2025 - 13:35
 0
Headed to Colombia? Here are 13 things to know before your trip

Whether you’re drawn by its endless coastlines, untamed jungle or high-altitude national parks, Colombia is guaranteed to dazzle.

After decades of association with armed conflict and drug cartels, this South American country emerged from that difficult chapter as one of the continent’s most thrilling and welcoming destinations to explore. And beyond all the natural beauty, Colombians themselves are the country’s true treasures.

As you put your Colombia itinerary together, follow these tips on planning, health, safety and more to ensure an unforgettable trip to this one-of-a-kind place.

Dark storm clouds loom over towers in a city in a valley. A storm rolls into Medellín. You won’t regret packing a waterproof layer for any trip to Colombia. nuedesign/Shutterstock nuedesign / Shutterstock

1. Pack for all weather

Whether you’re hitting the Caribbean coast or heading to the rainier climate of the capital Bogotá, you can expect to experience a full array of weather conditions in Colombia. Weather overall falls into two categories – the dry season (December through February and July through August) and the rainy season (April, May, and September through November) – yet because of the country’s variation in altitudes and ecosystems, you may well experience all four seasons in one trip.

As a rule, the Caribbean coast is hot and humid, while Bogotá and the higher-altitude Andean regions receive a surfeit of rain. Come prepared with plenty of layers, including a warm, easy-to-pack rain jacket, and you’ll be ready for whatever the weather might throw at you.

2. Don’t attempt to see all of Colombia in one trip

A big mistake made by even seasoned travelers is to try and pack too much into a trip to Colombia. Before trying to touch foot in every corner of the country during a two-week itinerary, cast your eyes over the map – then drill down.

Stick to exploring one section of the country, and exploring it well. You can spend three weeks bouncing between sun-soaked Caribbean beaches, say, or heading from Medellín deep into the Zona Cafetera. Your trip should match Colombia’s characteristic pace: slow and enjoyable.

3. Domestic flights are affordable and quick

If you’re still feeling ambitious about your trip,, Colombia’s low-cost airlines offer the most efficient way of getting around (though you should spare a thought for your carbon footprint). While nothing quite compares with the experience of taking a regional bus (where you’ll be “entertained” by deafening music for the duration), increasingly cheap fares are available for domestic flights.

Don’t be fooled by rock-bottom headline prices, as these typically don’t include checked or even carry-on baggage. Tickets during peak travel seasons (December through mid-January, Semana Santa and June through August) will command a premium and can sell out rapidly, so book flights in advance if visiting during these months.

Three women are pictured at a cafe on the street level of a historic buildings. Two sit at a table. The tables and chairs are painted green and yellow. A cafe in Jardín. You’ll find Colombians are delighted to converse with visitors. Chrispictures/Shutterstock Chrispictures / Shutterstock

4. A little Spanish will get you a long way

For a country so long enveloped by violent conflict, Colombia today is a remarkably open and welcoming destination for international travelers. Wherever you are, it’s easy to strike up a conversation with the owner of a restaurant, your taxi driver or a local enjoying the sunshine in a city plaza. And they’ll be delighted when you do.

Knowing more than the basics of Spanish can go a long way, spurring engaging, fascinating conversations about Colombian culture, soccer, history and politics. Colombian Spanish, particularly in Bogotá and Medellín, is considered one of the easiest to understand in Latin America since Colombians tend to carefully enunciate their words. Make the most of affordable language schools in these two major cities to get some practice in before you head out into the rest of the country.

A colorful chiva bus pulls into a street in Yolombó, Antioquia, Colombia Don’t expect punctuality when taking rural transport in Colombia. Alexander Canas Arango/Shutterstock © Alexander Canas Arango / Shutterstock

5. Don’t get picky about punctuality

As in much of Latin America, Colombian culture isn’t known for its strict adherence to the clock, and a punctuality-obsessed traveler is often a disappointed one. Since “Colombian time” practically occupies its own time zone, you should leave any notions of to-the-minute schedules at home. To avoid getting frustrated, relax and embrace being flexible. This is really the only way to deal with the typically laid-back Colombian attitude toward life, the universe...and pretty much everything else.

While big, inter-regional buses and flights do tend to leave on time, tight schedules aren't followed in many other contexts. If you’re making an appointment with a Colombian person or waiting for a rural colectivo to depart, bring a book as you may well be waiting up to an hour beyond the agreed time.

6. Taxis will help you get around safely

While safety is no longer the overwhelming concern it once was in Colombia, taking taxis when traveling between neighborhoods in big cities is a sensible choice. Wandering around at night (particularly after you’ve had a shot of heady aguardiente or two) is often an invitation to opportunistic thieves.

Taxis are extremely affordable and relatively painless if using a rideshare app such as Cabify or Uber. Hailing a taxi can leave you open to scams – or worse – so calling ahead for a cab (or asking your hotel to) is recommended. Always confirm the price or check that the taxi has a working meter before entering a vehicle.

A drag queen dressed in a colorful rainbow-patterned dress draped with beads strikes a pose at an outdoor Pride event in a city Colombia is an increasingly friendly LGBTIQ+ country. Roger.Rondon/Shutterstock © Roger.Rondon / Shutterstock

7. Bogotá has a well-established gay scene

Homosexuality was decriminalized in Colombia in early 1980s, and the first same-sex marriage ceremony was performed in 2013 – evidence that this country has some of the more progressive attitudes toward LGBTIQ+ rights in Latin America. Bogotá in particular has a well-established gay scene, with bars and nightlife mostly found in Chapinero, one of the city’s most dynamic neighborhoods. Some lodgings and restaurants are beginning to advertise themselves as gay-friendly.

Still, despite the country’s progressive laws, much of Colombian society remains traditionalist, and many same-sex couples still feel unsafe showing affection in public.

8. Tipping isn’t obligatory, but it is appreciated

Dining out in Colombia is extremely affordable. And when you get the bill at fancier restaurants, it’s likely you’ll be asked if you want to include the propina (tip), typically around 10% of the cost of the meal, when you pay. Service in restaurants, cafes and bars across Colombia is generally much better than in many other parts of South America, so unless you had a terrible experience, the tip an expression of your gratitude.

A female cyclist rides through the Paramo in the Andes Mountains of Boyacá, Colombia, South America Feel free to explore Colombia’s many regions – though it's safest to stay on well-established routes. Brent Olson/Getty Images ©Brent Olson/Getty Images

9. Traveling is safe – if you stick to the beaten track

Colombia has experienced extraordinary change in the past few decades, shedding its title as one of Latin America’s most dangerous countries and coming into its own as a travel destination that attracts visitors from around the world. This sea change comes down to the history-making peace accords signed in 2016 between the Colombian government and the FARC, which, after five decades of conflict, have led to many rural parts of the country finally shifting from no-go areas into welcoming places for visitors.

Still, we wouldn’t recommend straying too far from the beaten path. Some rural areas remain dangerous because of their links with neo-paramilitary and drug-trafficking groups, particularly along the borders with Panama, Venezuela and Ecuador. Before traveling anywhere unusual, always research the situation on the ground as well as your government’s most recent travel advisories.Exception: The parser function of type "canto_diptych" is not defined. Define your custom parser functions as: https://github.com/shuqikhor/editorjs-html-php#extend-for-custom-blocks in /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php:70 Stack trace: #0 /code/vendor/sqkhor/editorjs-html/src/edjsHTML.php(17): edjsHTML::parse_function_error('canto_diptych') #1 [internal function]: edjsHTML::parse_block(Array) #2 /code/web/modules/custom/editorjs_custom_plugins/src/Parser/CustomParser.php(28): array_map(Array, Array) #3 /code/web/modules/custom/aws_event_pipeline/src/Mappers/v1/ArticleMapper.php(123): Drupal\editorjs_custom_plugins\Parser\CustomParser::parse(Array) #4 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(168): Drupal\aws_event_pipeline\Mappers\v1\ArticleMapper->toAwsPayload(Object(Drupal\node\Entity\Node)) #5 /code/web/modules/custom/aws_event_pipeline/src/AwsFormatter.php(151): Drupal\aws_event_pipeline\AwsFormatter->getPayload(Object(Drupal\node\Entity\Node), Array) #6 /code/web/modules/custom/aws_event_pipeline/src/AwsEventSync.php(174): Drupal\aws_event_pipeline\AwsFormatter->getAwsMessage(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent), Array) #7 /code/web/modules/custom/aws_event_pipeline/src/EventSubscribers/EntityEventSubscriber.php(146): Drupal\aws_event_pipeline\AwsEventSync->sendToAws(Object(Drupal\node\Entity\Node), Object(Drupal\aws_event_pipeline\AwsEvent\AwsEvent)) #8 [internal function]: Drupal\aws_event_pipeline\EventSubscribers\EntityEventSubscriber->onEntityUpdate(Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #9 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\Core\Entity\EntityEvent), 'entity.update', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #10 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(231): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\Core\Entity\EntityEvent), 'entity.update') #11 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(900): Drupal\Core\Entity\EntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node)) #12 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(579): Drupal\Core\Entity\ContentEntityStorageBase->invokeHook('update', Object(Drupal\node\Entity\Node)) #13 /code/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(781): Drupal\Core\Entity\EntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true) #14 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(504): Drupal\Core\Entity\ContentEntityStorageBase->doPostSave(Object(Drupal\node\Entity\Node), true) #15 /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(806): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\node\Entity\Node)) #16 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\node\Entity\Node)) #17 /code/web/modules/contrib/lightning_workflow/modules/lightning_scheduler/src/TransitionManager.php(212): Drupal\Core\Entity\EntityBase->save() #18 /code/web/modules/contrib/lightning_workflow/modules/lightning_scheduler/lightning_scheduler.module(69): Drupal\lightning_scheduler\TransitionManager->process('node', Object(Drupal\Core\Datetime\DrupalDateTime)) #19 [internal function]: lightning_scheduler_cron(Object(Drupal\ultimate_cron\Entity\CronJob)) #20 /code/web/modules/contrib/ultimate_cron/src/Entity/CronJob.php(325): call_user_func('lightning_sched...', Object(Drupal\ultimate_cron\Entity\CronJob)) #21 /code/web/modules/contrib/ultimate_cron/src/Entity/CronJob.php(471): Drupal\ultimate_cron\Entity\CronJob->invokeCallback() #22 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(213): Drupal\ultimate_cron\Entity\CronJob->run(Object(Drupal\Core\StringTranslation\TranslatableMarkup)) #23 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(334): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->launch(Object(Drupal\ultimate_cron\Entity\CronJob)) #24 /code/web/modules/contrib/ultimate_cron/src/Plugin/ultimate_cron/Launcher/SerialLauncher.php(309): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->runThread('6084828', 1, Array) #25 /code/web/modules/contrib/ultimate_cron/src/UltimateCron.php(64): Drupal\ultimate_cron\Plugin\ultimate_cron\Launcher\SerialLauncher->launchJobs(Array) #26 /code/web/modules/contrib/ultimate_cron/src/ProxyClass/UltimateCron.php(70): Drupal\ultimate_cron\UltimateCron->run() #27 /code/web/core/modules/system/src/CronController.php(46): Drupal\ultimate_cron\ProxyClass\UltimateCron->run() #28 [internal function]: Drupal\system\CronController->run() #29 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array) #30 /code/web/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #31 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #32 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) #33 /code/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() #34 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #35 /code/web/modules/contrib/redirect_after_login/src/RedirectMiddleware.php(44): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #36 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Drupal\redirect_after_login\RedirectMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #37 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #38 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(191): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #39 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(128): Drupal\page_cache\StackMiddleware\PageCache->fetch(Object(Symfony\Component\HttpFoundation\Request), 1, true) #40 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(82): Drupal\page_cache\StackMiddleware\PageCache->lookup(Object(Symfony\Component\HttpFoundation\Request), 1, true) #41 /code/vendor/asm89/stack-cors/src/Cors.php(53): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #42 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Asm89\Stack\Cors->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #43 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #44 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #45 /code/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #46 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #47 {main}

10. Drugs and talking about that Netflix show are big no-nos

If there’s one way to annoy Colombians, it’s to get onto a topic that many Western tourists continue to associate with the country: drugs. Illegal substances are a taboo subject in Colombia, and despite (or more likely, because of) the country’s history, few Colombians take them. Residents of Medellín, in particular, are fed up with the city’s association with drug cartels and with tourists who go there to use cocaine, which is illegal and could see you getting into a lot of trouble if caught.

When traveling in Colombia, don’t mention Narcos, either. Colombians are frustrated with the Netflix show’s portrayal of the country and what they see as the exaltation of a mass murderer. You can show some respect by steering clear of the many Pablo Escobar tours, too. Listening to local people's experiences during the drug-war years is likely to be far more informative and accurate.

11. Scams and muggings do happen

While safety has improved significantly, you should always “no dar papaya.” This delightful idiom – which literally translates to “don’t give papaya” – means you should always keep your wits about you, staying alert to those who would take advantage of you. In practice, this means following common-sense guidelines: don’t wander down dark, empty streets at night; don’t head out into neighborhoods you don’t know without checking their safety first; and don’t flap about the city with an expensive camera or phone on display. Travel insurance is essential because muggings are, unfortunately still an issue in cities such as Bogota, Cali and Medellín.

You should never resist if someone tries to rob you. Distraction techniques are those used most fruitfully by would-be thieves, so always be wary of people coming up to you in the street or being asked to show your money to scammers posing as police officers. If things do go wrong, head to the nearest police station to report the crime immediately. The police will put together a report and give you a copy, which you’ll need to make an insurance claim.

12. Rural checkpoints retain a strong military presence

When traveling in rural parts of Colombia, it’s not uncommon to come across road checkpoints staffed by army personnel, who’ll often ask to see your documents before waving you on your way. In areas recently opened to tourism, you might even spot tanks and other military vehicles stationed alongside roads.

While it might seem intimidating, this visible military presence is meant to protect the local people – and visitors like you. Be polite and have the correct paperwork (either your actual passport or a photocopy of the main page and entry stamp) with you, and you’ll rarely have an issue.

A view of a cove with a beach. People are seen on the beach, and climbing steps that lead away from the sand. A beach in Parque Nacional Natural Tayrona, Colombia. Alejo Bernal/Shutterstock Alejo Bernal / Shutterstock

13. Don’t let this country’s history scare you away

Colombia has come a long way since the dark days of the 1980s and 1990s, and its residents are more than excited to show you their beautiful and wonderfully diverse country. The biggest mistake you can make is to let Netflix or old news reports scare you away – for this is a country that just about every traveler can’t help but fall in love with.

The biggest danger when visiting Colombia? Discovering you may never wanting to leave.