You don't have javascript enabled.
Textomap | Turn text into interactive maps in seconds

{{!getMap().locations.length ? 'No locations found 🤔 ' : getMap().locations.length == 1 ? '1 Location' : '%%LOCATIONS%% Locations'.replace('%%LOCATIONS%%', getMap().locations.length)}}
✓ Embedded
Discard

{{!getMap().locations.length ? 'No locations found 🤔 ' : getMap().locations.length == 1 ? '1 Location' : getMap().id == null && checkLimitedLocations() ? '10+ Locations' : '%%LOCATIONS%% Locations'.replace('%%LOCATIONS%%', getMap().locations.length)}}
Save map

Preparing your map

{{getMap().text.length && getMap().orgText.length ? 'Cancel editing' : 'Close'}}
{{'%%CHRS%%/%%CHR_LIMIT%% Characters left'.replace('%%CHRS%%', getMap().text.length).replace('%%CHR_LIMIT%%', getCharLimit())}}
{{getMap() && getMap().locations.length ? 'Update Map' : 'Create Map'}}
TIP: Hover on the highlighted words for information and editing options
Generating Map
Close
Free plan
{{getUpdateDate('Monthly usage resets on %%DATE%%')}}
My Maps
{{getSavedMaps('%%MAPS%%/%%LIMIT%% Maps')}}
Map views
{{getMapsViews('%%VIEWS%%/%%LIMIT%% Views')}}
AI assistant
Unlimited
Upgrade
{{getUserType() == '2' ? 'Pro plan 🚀' : getUserType() == '3' ? '🎓 Educator' : getUserType() == '4' ? 'Student' : 'Basic plan 🚀'}}
{{getUpdateDate(getUserType() == '4' ? 'Monthly usage resets on %%DATE%%' : 'Next billing on %%DATE%%')}}
My Maps
Unlimited
Personal maps
{{getMapsCreations('%%MAPS%%/%%LIMIT%% Maps created')}}
Student maps
{{getMapsCreations('%%LIMIT%% per student')}}
Map views
{{getMapsViews('%%VIEWS%%/%%LIMIT%% Views')}}
Students
{{getStudentsCount('%%STDNTS%%/%%CNT%%')}} Manage
AI assistant
Unlimited
You’ve reached the limit of maps you can save. Upgrade now to save unlimited maps and unlock all features.
You’ve reached the limit of maps that you can create
Create a map from:
✍ Text Source
ChatGPT
NEW!
🖼️ image
🔈 Audio File
📑️ Data file

My Maps

✓ Embedded

{{map.title}}

No saved maps yet

Select the type of map you want to create from the options above
Need some inspiration?
Try our example text

Student maps

Select student

{{map.title}}

🌵
{{selectedStudent == null ? 'None of the students have created a map' : '%%USR%% has not saved any maps'.replace("%%USR%%", selectedStudent.username)}}

Instantly generate interactive maps from text and images

Textomap is the fastest way to create, customise and embed maps.
No spreadsheets or complex tools.
⚡Try Textomap free
We support 28+ languages
Featured & Awarded

Turn any text with locations into maps
Itineraries
articles
Class material
posts
news
emails
Visualise the stories behind the pictures
ANCIENT MAPS
photos
painitings
static maps
Create maps with AI from questions and prompts
Give anything a location
embed maps to your website with a couple of clicks

Once you've crafted the perfect map, seamlessly embed it into your blog post with a simple copy - paste

Teach with Textomap

Provide students with an engaging interactive tool to learn about geography, history, and science while discovering the power of AI
  • Individual account for every student
  • Create maps with ChatGPT
  • Customise locations with links, images and more
View pricing
Creating maps is as easy as bookmarking a page

Generate and view maps in the same tab as you move between websites, social media, docs, and emails.

Get the free Chrome extension
The fastest way to create and embed maps for your WordPress website
Get the free Wordpress Plugin
Take your data with you

Use Textomap to extract location from any text and Export the data as a CSV file or open Google Maps

Create and edit maps on the go

No need to access your PC or CMS. Embedded and shared maps are automatically updated

Frequently Asked Questions

{{!getMap().locations.length ? getMap().id == null && shownText() ? 'No locations found 🤔 ' : 'No Locations' : getMap().locations.length == 1 ? '1 Location' : getMap().id == null && checkLimitedLocations() ? '10+ Locations' : '%%LOCATIONS%% Locations'.replace('%%LOCATIONS%%', getMap().locations.length)}}

Make sure they’re spelled correctly and capitalized
(e.g., Times Square in New York). Visit Help Center for more info.
Upgrade to display all locations in the text ✓ Embedded
Add & Edit Text

Preparing your map

🗺️
Map is temporarily not available
Edit this map
{{getLocation().address}}
Edit location
{{getLocation().website_text == 2 ? 'Visit website' : getLocation().website_text == 3 ? 'Book now' : 'Learn more'}}
{{getLocation().address}}
{{getLocation().description ? getDescription() : 'No description added...'}}

{{inProcessQuestion ? (getSourceType() == '1' || getSourceType() == '2' ? 'Scanning image for locations' : 'Searching for the best answer') : 'Preparing your map'}}

ChatGPT is taking a bit longer, thanks for your patience
Disable your ad blocker and refresh to use your AI assistant
We show ads to cover the costs of providing this feature for free.
We appreciate your support 🙏
Got it
We show ads in order to cover the costs of providing Textomap as a free service
💡 View an example map
{{getUserType() != '2' && getUserType() != '4' ? 'You’ve reached the character limit. Upgrade to use longer text & unlock all features' : '☝️️️️ You can add up to 30K characters. Contact us if you need to use longer text'}}
Upgrade

{{error.msg_header ? error.msg_header : error.question ? 'Sorry, we couldn’t create a map' : 'No locations found. Make sure they’re spelled correctly and Capitalized '}}

{{error.msg ? error.msg : error.question ? 'We rely on the capabilities and knowledge of ChatGPT' : '(e.g., Times Square in New York / 54 Oxford St, London)'}}
See which languages you can create maps with
{{error.err == 'CONNECTION_ERROR' ? 'Back to editor' : error.err != 'NO_ANSWER_ERROR' && error.err != 'LIMIT_AI_ERROR' && error.err != 'NO_DATA_FOUND' && !error.question ? 'Edit text' : 'Got it'}}
Your text is perfect and in a language we support?
Let us know
Visit the Help Center for more information

Sorry, we couldn't create a map
using this text.

Either the text does not contain any locations
or we have a sneaky bug on our hands.
Let us know
Clear selected text

{{showError() ? getErrorHeader() : 'No internet connection'}}

{{showError() ? getErrorBody() : 'Check your connection and try again.'}}
Add Locations
Embed
Save map
Generate maps from anything
Type or paste text sources, create maps from photos and images
or generate maps from prompts and questions
Type or paste text sources, create maps from photos and images or generate maps from prompts and questions
Login to generate maps from images and Data files