diff --git a/include/libmueb/muebreceiver.h b/include/libmueb/muebreceiver.h
index 5c2d0dfa741494b64b6e303f8b4163e5bedca62b..59a7d689227af17ca2261fed0dfb86cf0db5a531 100644
--- a/include/libmueb/muebreceiver.h
+++ b/include/libmueb/muebreceiver.h
@@ -6,6 +6,8 @@
 
 #include "libmueb_global.h"
 
+namespace libmueb {
+
 class MuebReceiverPrivate;
 
 class LIBMUEB_EXPORT MuebReceiver final : public QObject {
@@ -29,4 +31,6 @@ class LIBMUEB_EXPORT MuebReceiver final : public QObject {
   void ReadPendingDatagrams();
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_MUEBRECEIVER_H_
diff --git a/include/libmueb/muebtransmitter.h b/include/libmueb/muebtransmitter.h
index 3029b162b501fe0063ae8340c212f7cc4d932388..87bcb492e0c06df5de9ea95f84f6842845b24481 100644
--- a/include/libmueb/muebtransmitter.h
+++ b/include/libmueb/muebtransmitter.h
@@ -5,6 +5,8 @@
 
 #include "libmueb_global.h"
 
+namespace libmueb {
+
 class MuebTransmitterPrivate;
 
 class LIBMUEB_EXPORT MuebTransmitter final : public QObject {
@@ -34,4 +36,6 @@ class LIBMUEB_EXPORT MuebTransmitter final : public QObject {
   ~MuebTransmitter();
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_MUEBTRANSMITTER_H_
diff --git a/src/configuration.cc b/src/configuration.cc
index 0396bd6c58f1553102ca301aa5c1b3683bbfc975..c25bfe7c36013b16c8fb70b6b10565e132dc92ba 100644
--- a/src/configuration.cc
+++ b/src/configuration.cc
@@ -2,6 +2,8 @@
 
 #include <QtMath>
 
+namespace libmueb {
+
 namespace {
 constexpr quint8 kRgbByteSize{3};
 constexpr quint8 kProtocolType{2};
@@ -108,3 +110,5 @@ void Configuration::LoadSettings() {
 
   // TODO Configuration check
 }
+
+}  // namespace libmueb
diff --git a/src/configuration.h b/src/configuration.h
index dc7b9d2c4b6dbe9e959c38a6ed69d42d39e52079..a811003892cde7c28d1a6770012a15b99040f625 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -7,6 +7,8 @@
 #include <QSettings>
 #include <QtGlobal>
 
+namespace libmueb {
+
 class Configuration : public QObject {
   Q_OBJECT
 
@@ -57,4 +59,6 @@ class Configuration : public QObject {
   void LoadSettings();
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_CONFIGURATION_H_
diff --git a/src/muebreceiver.cc b/src/muebreceiver.cc
index 79fff6c4ea1c385a26e93e7fe85fafb294a3e35b..ba118c0272dcf15407269899b31e1cdaba5839bc 100644
--- a/src/muebreceiver.cc
+++ b/src/muebreceiver.cc
@@ -4,6 +4,8 @@
 
 #include "muebreceiver_p.h"
 
+namespace libmueb {
+
 MuebReceiver::MuebReceiver(QObject *parent)
     : QObject(parent), d_ptr_(new MuebReceiverPrivate(this)) {}
 
@@ -77,3 +79,5 @@ void MuebReceiver::ReadPendingDatagrams() {
     }
   }
 }
+
+}  // namespace libmueb
diff --git a/src/muebreceiver_p.h b/src/muebreceiver_p.h
index dee8ee6b2846dff0573730fb543fa17fe04253ad..fed9ce63f6bdbb1e67c68af900c0318f30f0cfed 100644
--- a/src/muebreceiver_p.h
+++ b/src/muebreceiver_p.h
@@ -7,6 +7,8 @@
 #include "configuration.h"
 #include "muebreceiver.h"
 
+namespace libmueb {
+
 class MuebReceiverPrivate {
   Q_DECLARE_PUBLIC(MuebReceiver)
   Q_DISABLE_COPY(MuebReceiverPrivate)
@@ -30,4 +32,6 @@ class MuebReceiverPrivate {
   MuebReceiver *q_ptr;
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_MUEBRECEIVER_P_H_
diff --git a/src/muebtransmitter.cc b/src/muebtransmitter.cc
index 30894d67abd02b1e76cd6bbe81d7c8e3880e481d..310656b55dd07364849721e8e580b3b911ce2005 100644
--- a/src/muebtransmitter.cc
+++ b/src/muebtransmitter.cc
@@ -2,6 +2,8 @@
 
 #include "muebtransmitter_p.h"
 
+namespace libmueb {
+
 MuebTransmitter::MuebTransmitter(QObject* parent)
     : QObject(parent), d_ptr_(new MuebTransmitterPrivate(this)) {}
 
@@ -123,3 +125,5 @@ libmueb::Frame MuebTransmitter::frame() const {
 
   return d->configuration_.frame();
 }
+
+}  // namespace libmueb
diff --git a/src/muebtransmitter_p.h b/src/muebtransmitter_p.h
index abe0001f881b41e2077f1e117334ce8748f53349..cc99a4b587cfde95a3a62130e08eec087f2a6d5c 100644
--- a/src/muebtransmitter_p.h
+++ b/src/muebtransmitter_p.h
@@ -11,6 +11,8 @@
 #include "configuration.h"
 #include "muebtransmitter.h"
 
+namespace libmueb {
+
 class MuebTransmitterPrivate {
   Q_DECLARE_PUBLIC(MuebTransmitter)
   Q_DISABLE_COPY(MuebTransmitterPrivate)
@@ -63,4 +65,6 @@ class MuebTransmitterPrivate {
       };
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_MUEBTRANSMITTER_P_H_
diff --git a/webchannel/main.cc b/webchannel/main.cc
index 8629d48f7a3948fba8b99c2987ec9c76d0a06e70..15ef318453b060e9712a1ae42bdefeb55273cbda 100644
--- a/webchannel/main.cc
+++ b/webchannel/main.cc
@@ -26,7 +26,7 @@ int main(int argc, char *argv[]) {
                    &channel, &QWebChannel::connectTo);
 
   // setup the MuebChannel and publish it to the QWebChannel
-  MuebChannel mueb_channel;
+  libmueb::MuebChannel mueb_channel;
   channel.registerObject(QStringLiteral("mueb_channel"), &mueb_channel);
 
   return a.exec();
diff --git a/webchannel/muebchannel.cc b/webchannel/muebchannel.cc
index 7c1edb39a47e3fc2b66cf01ea318401a6eaa1e0c..d9dc025f41fae9d904189dabedc6b5af4887f04e 100644
--- a/webchannel/muebchannel.cc
+++ b/webchannel/muebchannel.cc
@@ -5,6 +5,8 @@
 #include <QDebug>
 #include <QString>
 
+namespace libmueb {
+
 MuebChannel::MuebChannel(QObject *parent)
     : QObject(parent),
       transmitter_(MuebTransmitter::Instance()),
@@ -41,3 +43,5 @@ void MuebChannel::FrameChanged(QPixmap frame) {
 
   emit SendFrame(base64);
 }
+
+}  // namespace libmueb
diff --git a/webchannel/muebchannel.h b/webchannel/muebchannel.h
index 5c6eba22308bb9c3ff2f44bb4cd7f882fb4ad17a..c0ce2f56f9b5b3fc93a65d420758793ccf3ce90e 100644
--- a/webchannel/muebchannel.h
+++ b/webchannel/muebchannel.h
@@ -7,6 +7,8 @@
 #include "muebreceiver.h"
 #include "muebtransmitter.h"
 
+namespace libmueb {
+
 /*
     An instance of this class gets published over the WebChannel and is then
    accessible to HTML clients.
@@ -47,4 +49,6 @@ class MuebChannel : public QObject {
   void FrameChanged(QPixmap frame);
 };
 
+}  // namespace libmueb
+
 #endif  // LIBMUEB_MUEBCHANNEL_H_