diff --git a/__tests__/src/selectors/config.test.js b/__tests__/src/selectors/config.test.js
index 6719ea48caba44cd50fee91aeef71551789f8852..7d20241c9a3627a50a26c1a00aadfa7a1d52bf88 100644
--- a/__tests__/src/selectors/config.test.js
+++ b/__tests__/src/selectors/config.test.js
@@ -4,6 +4,7 @@ import {
   getTheme,
   getThemeIds,
   getContainerId,
+  getThemeDirection,
 } from '../../../src/state/selectors';
 
 describe('getLanguagesFromConfigWithCurrent', () => {
@@ -95,3 +96,14 @@ describe('getContainerId', () => {
     expect(getContainerId(state)).toEqual('mirador');
   });
 });
+
+describe('getThemeDirection', () => {
+  it('returns the configured theme direction', () => {
+    const state = { config: { theme: { direction: 'rtl' } } };
+    expect(getThemeDirection(state)).toBe('rtl');
+  });
+  it('returns ltr as default', () => {
+    const state = { config: { theme: { } } };
+    expect(getThemeDirection(state)).toBe('ltr');
+  });
+});
diff --git a/src/state/selectors/config.js b/src/state/selectors/config.js
index 6e4079a5801e406b66ac2224037785af0c36e782..6612fceabb4b8442ed2b8f7e5d462040c6c5ef78 100644
--- a/src/state/selectors/config.js
+++ b/src/state/selectors/config.js
@@ -51,3 +51,8 @@ export const getDefaultView = createSelector(
   [getConfig],
   ({ window }) => window && window.defaultView,
 );
+
+export const getThemeDirection = createSelector(
+  [getConfig],
+  ({ theme }) => theme.direction || 'ltr',
+);