diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6b3fa4b91850afa278ec89b7ab1d36499dce94cf..b58178bf5f96ce626d24438f1215e50924b05942 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,7 @@
 # Version 1.97 (not yet released)
 
+* Added a datasource for Country: Now you can sort on the country name.
+
 # Version 1.96
 
 * Prevent fatal PHP 8.1 error with CompareFieldFilter.
diff --git a/Civi/DataProcessor/Factory.php b/Civi/DataProcessor/Factory.php
index 03be57b8ff491f25efba9eabfb4b34e060e390b6..9010dd59491292e98f505c45df30be377562bae4 100644
--- a/Civi/DataProcessor/Factory.php
+++ b/Civi/DataProcessor/Factory.php
@@ -119,6 +119,7 @@ class Factory {
     $this->addDataSource('entity_tag', new Definition('Civi\DataProcessor\Source\Tag\EntityTagSource'), E::ts('Entity Tag (Link between an entity and a tag)'));
     $this->addDataSource('email', new Definition('Civi\DataProcessor\Source\Contact\EmailSource'), E::ts('Email'));
     $this->addDataSource('address', new Definition('Civi\DataProcessor\Source\Contact\AddressSource'), E::ts('Address'));
+    $this->addDataSource('country', new Definition('Civi\DataProcessor\Source\Contact\CountrySource'), E::ts('Country'));
     $this->addDataSource('phone', new Definition('Civi\DataProcessor\Source\Contact\PhoneSource'), E::ts('Phone'));
     $this->addDataSource('website', new Definition('Civi\DataProcessor\Source\Contact\WebsiteSource'), E::ts('Website'));
     $this->addDataSource('campaign', new Definition('Civi\DataProcessor\Source\Campaign\CampaignSource'), E::ts('Campaign'));
diff --git a/Civi/DataProcessor/Source/Contact/CountrySource.php b/Civi/DataProcessor/Source/Contact/CountrySource.php
new file mode 100644
index 0000000000000000000000000000000000000000..4b9a1c7d442abe91be2fdca5d0388ee919d5ed3d
--- /dev/null
+++ b/Civi/DataProcessor/Source/Contact/CountrySource.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * @author Klaas Eikelboom <klaas.eikelboom@civicoop.org>
+ * @license AGPL-3.0
+ */
+
+namespace Civi\DataProcessor\Source\Contact;
+
+use Civi\DataProcessor\Source\AbstractCivicrmEntitySource;
+
+use CRM_Dataprocessor_ExtensionUtil as E;
+
+class CountrySource extends AbstractCivicrmEntitySource {
+
+  /**
+   * Returns the entity name
+   *
+   * @return String
+   */
+  protected function getEntity() {
+    return 'Country';
+  }
+
+  /**
+   * Returns the table name of this entity
+   *
+   * @return String
+   */
+  protected function getTable() {
+    return 'civicrm_country';
+  }
+
+  /**
+   * Returns the default configuration for this data source
+   *
+   * @return array
+   */
+  public function getDefaultConfiguration() {
+    return array();
+  }
+
+}