diff --git a/interface/resources/qml/Web3DSurface.qml b/interface/resources/qml/Web3DSurface.qml
index 7ac7c2593b..e9c8d119d6 100644
--- a/interface/resources/qml/Web3DSurface.qml
+++ b/interface/resources/qml/Web3DSurface.qml
@@ -18,31 +18,31 @@ Item {
     anchors.fill: parent
     property string url: ""
     property string scriptUrl: null
-    property string webBackgroundColor: "#FFFFFFFF"
+    property bool useBackground: true
 
     onUrlChanged: {
-        load(root.url, root.scriptUrl, root.webBackgroundColor);
+        load(root.url, root.scriptUrl, root.useBackground);
     }
 
     onScriptUrlChanged: {
         if (root.item) {
             root.item.scriptUrl = root.scriptUrl;
         } else {
-            load(root.url, root.scriptUrl, root.webBackgroundColor);
+            load(root.url, root.scriptUrl, root.useBackground);
         }
     }
 
-    onWebBackgroundColorChanged: {
+    onUseBackgroundChanged: {
         if (root.item) {
-            root.item.webBackgroundColor = root.webBackgroundColor;
+            root.item.useBackground = root.useBackground;
         } else {
-            load(root.url, root.scriptUrl, root.webBackgroundColor);
+            load(root.url, root.scriptUrl, root.useBackground);
         }
     }
 
     property var item: null
 
-    function load(url, scriptUrl, webBackgroundColor) {
+    function load(url, scriptUrl, useBackground) {
         // Ensure we reset any existing item to "about:blank" to ensure web audio stops: DEV-2375
         if (root.item != null) {
             root.item.url = "about:blank"
@@ -53,12 +53,12 @@ Item {
             root.item = newItem
             root.item.url = url
             root.item.scriptUrl = scriptUrl
-            root.item.transparentBackground = webBackgroundColor.startsWith("#FF") ? false : true
+            root.item.useBackground = useBackground
         })
     }
 
     Component.onCompleted: {
-        load(root.url, root.scriptUrl, root.webBackgroundColor);
+        load(root.url, root.scriptUrl, root.useBackground);
     }
 
     signal sendToScript(var message);
diff --git a/interface/resources/qml/controls/+webengine/FlickableWebViewCore.qml b/interface/resources/qml/controls/+webengine/FlickableWebViewCore.qml
index 93126152a2..d7d84a0961 100644
--- a/interface/resources/qml/controls/+webengine/FlickableWebViewCore.qml
+++ b/interface/resources/qml/controls/+webengine/FlickableWebViewCore.qml
@@ -15,8 +15,8 @@ Item {
     property alias webViewCore: webViewCore
     property alias webViewCoreProfile: webViewCore.profile
     property string webViewCoreUserAgent
-    property string webBackgroundColor: "#FFFFFFFF" // Fully opaque white.
 
+    property bool useBackground: true
     property string userScriptUrl: ""
     property string urlTag: "noDownload=false";
 
@@ -99,10 +99,7 @@ Item {
 
         width: parent.width
         height: parent.height
-        //backgroundColor: "transparent"
-        //backgroundColor: "#FFFF00CC"
-        backgroundColor: flick.webBackgroundColor
-        //backgroundColor: Qt.rgba(0.502, 0.502, 0.502, 0.502)
+        backgroundColor: (flick.useBackground) ? "white" : "transparent"
 
         profile: HFWebEngineProfile;
         settings.pluginsEnabled: true
diff --git a/interface/resources/qml/controls/FlickableWebViewCore.qml b/interface/resources/qml/controls/FlickableWebViewCore.qml
index cccd42457a..4f611a4d9b 100644
--- a/interface/resources/qml/controls/FlickableWebViewCore.qml
+++ b/interface/resources/qml/controls/FlickableWebViewCore.qml
@@ -14,8 +14,7 @@ Item {
     property alias webViewCoreProfile: webViewCore.profile
     property string webViewCoreUserAgent
 
-    property string webBackgroundColor: "#FFFFFFFF"
-
+    property bool useBackground: true
     property string userScriptUrl: ""
     property string urlTag: "noDownload=false";
 
diff --git a/interface/resources/qml/controls/WebView.qml b/interface/resources/qml/controls/WebView.qml
index 663bbf7867..b46c8c904d 100644
--- a/interface/resources/qml/controls/WebView.qml
+++ b/interface/resources/qml/controls/WebView.qml
@@ -23,7 +23,7 @@ Item {
     property bool passwordField: false
     property alias flickable: webroot.interactive
     property alias blurOnCtrlShift: webroot.blurOnCtrlShift
-    property alias webBackgroundColor: webroot.webBackgroundColor
+    property alias useBackground: webroot.useBackground
 
     function stop() {
         webroot.stop();
diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp
index b3d1edcfb5..dc48a575f1 100644
--- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp
+++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp
@@ -101,7 +101,7 @@ WebEntityRenderer::~WebEntityRenderer() {
 
 bool WebEntityRenderer::isTransparent() const {
     float fadeRatio = _isFading ? Interpolate::calculateFadeRatio(_fadeStartTime) : 1.0f;
-    return fadeRatio < OPAQUE_ALPHA_THRESHOLD || _alpha < 1.0f || _pulseProperties.getAlphaMode() != PulseMode::NONE;
+    return fadeRatio < OPAQUE_ALPHA_THRESHOLD || _alpha < 1.0f || _pulseProperties.getAlphaMode() != PulseMode::NONE || !_useBackground;
 }
 
 bool WebEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPointer& entity) const {
@@ -228,10 +228,10 @@ void WebEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& scene
                 }
 
                 { 
-                    auto webBackgroundColor = entity->getWebBackgroundColor();
-                    if (_webBackgroundColor != webBackgroundColor) {
-                        _webSurface->getRootItem()->setProperty("webBackgroundColor", webBackgroundColor);
-                        _webBackgroundColor = webBackgroundColor;
+                    auto useBackground = entity->getUseBackground();
+                    if (_useBackground != useBackground) {
+                        _webSurface->getRootItem()->setProperty("useBackground", useBackground);
+                        _useBackground = useBackground;
                     }
                 }
 
@@ -300,12 +300,14 @@ void WebEntityRenderer::doRender(RenderArgs* args) {
     glm::vec4 color;
     Transform transform;
     bool forward;
+    bool isTransparent;
     withReadLock([&] {
         float fadeRatio = _isFading ? Interpolate::calculateFadeRatio(_fadeStartTime) : 1.0f;
         color = glm::vec4(toGlm(_color), _alpha * fadeRatio);
         color = EntityRenderer::calculatePulseColor(color, _pulseProperties, _created);
         transform = _renderTransform;
         forward = _renderLayer != RenderLayer::WORLD || args->_renderMethod == render::Args::FORWARD;
+        isTransparent = isTransparent();
     });
 
     if (color.a == 0.0f) {
@@ -319,7 +321,7 @@ void WebEntityRenderer::doRender(RenderArgs* args) {
 
     // Turn off jitter for these entities
     batch.pushProjectionJitter();
-    DependencyManager::get<GeometryCache>()->bindWebBrowserProgram(batch, color.a < OPAQUE_ALPHA_THRESHOLD, forward);
+    DependencyManager::get<GeometryCache>()->bindWebBrowserProgram(batch, isTransparent, forward);
     DependencyManager::get<GeometryCache>()->renderQuad(batch, topLeft, bottomRight, texMin, texMax, color, _geometryId);
     batch.popProjectionJitter();
     batch.setResourceTexture(0, nullptr);
diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.h b/libraries/entities-renderer/src/RenderableWebEntityItem.h
index 786df55ee5..b03ea93ef5 100644
--- a/libraries/entities-renderer/src/RenderableWebEntityItem.h
+++ b/libraries/entities-renderer/src/RenderableWebEntityItem.h
@@ -94,7 +94,7 @@ private:
     uint16_t _dpi;
     QString _scriptURL;
     uint8_t _maxFPS;
-    QString _webBackgroundColor;
+    bool _useBackground;
     WebInputMode _inputMode;
 
     glm::vec3 _contextPosition;
diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp
index 294ac6228e..921904ed25 100644
--- a/libraries/entities/src/EntityItemProperties.cpp
+++ b/libraries/entities/src/EntityItemProperties.cpp
@@ -602,7 +602,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
     CHECK_PROPERTY_CHANGE(PROP_MAX_FPS, maxFPS);
     CHECK_PROPERTY_CHANGE(PROP_INPUT_MODE, inputMode);
     CHECK_PROPERTY_CHANGE(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, showKeyboardFocusHighlight);
-    CHECK_PROPERTY_CHANGE(PROP_WEB_BACKGROUND_COLOR, webBackgroundColor);
+    CHECK_PROPERTY_CHANGE(PROP_WEB_USE_BACKGROUND, useBackground);
 
     // Polyline
     CHECK_PROPERTY_CHANGE(PROP_LINE_POINTS, linePoints);
@@ -1821,7 +1821,7 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
         COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_MAX_FPS, maxFPS);
         COPY_PROPERTY_TO_QSCRIPTVALUE_GETTER(PROP_INPUT_MODE, inputMode, getInputModeAsString());
         COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, showKeyboardFocusHighlight);
-        COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_WEB_BACKGROUND_COLOR, webBackgroundColor);
+        COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_WEB_USE_BACKGROUND, useBackground);
     }
 
     // PolyVoxel only
@@ -2203,7 +2203,7 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object, bool
     COPY_PROPERTY_FROM_QSCRIPTVALUE(maxFPS, uint8_t, setMaxFPS);
     COPY_PROPERTY_FROM_QSCRIPTVALUE_ENUM(inputMode, InputMode);
     COPY_PROPERTY_FROM_QSCRIPTVALUE(showKeyboardFocusHighlight, bool, setShowKeyboardFocusHighlight);
-    COPY_PROPERTY_FROM_QSCRIPTVALUE(webBackgroundColor, QString, setWebBackgroundColor);
+    COPY_PROPERTY_FROM_QSCRIPTVALUE(useBackground, bool, setUseBackground);
 
     // Polyline
     COPY_PROPERTY_FROM_QSCRIPTVALUE(linePoints, qVectorVec3, setLinePoints);
@@ -2495,7 +2495,7 @@ void EntityItemProperties::merge(const EntityItemProperties& other) {
     COPY_PROPERTY_IF_CHANGED(maxFPS);
     COPY_PROPERTY_IF_CHANGED(inputMode);
     COPY_PROPERTY_IF_CHANGED(showKeyboardFocusHighlight);
-    COPY_PROPERTY_IF_CHANGED(webBackgroundColor);
+    COPY_PROPERTY_IF_CHANGED(useBackground);
 
     // Polyline
     COPY_PROPERTY_IF_CHANGED(linePoints);
@@ -2895,7 +2895,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
         ADD_PROPERTY_TO_MAP(PROP_MAX_FPS, MaxFPS, maxFPS, uint8_t);
         ADD_PROPERTY_TO_MAP(PROP_INPUT_MODE, InputMode, inputMode, WebInputMode);
         ADD_PROPERTY_TO_MAP(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, ShowKeyboardFocusHighlight, showKeyboardFocusHighlight, bool);
-        ADD_PROPERTY_TO_MAP(PROP_WEB_BACKGROUND_COLOR, WebBackgroundColor, webBackgroundColor, QString);
+        ADD_PROPERTY_TO_MAP(PROP_WEB_USE_BACKGROUND, useBackground, useBackground, bool);
 
         // Polyline
         ADD_PROPERTY_TO_MAP(PROP_LINE_POINTS, LinePoints, linePoints, QVector<vec3>);
@@ -3326,7 +3326,7 @@ OctreeElement::AppendState EntityItemProperties::encodeEntityEditPacket(PacketTy
                 APPEND_ENTITY_PROPERTY(PROP_MAX_FPS, properties.getMaxFPS());
                 APPEND_ENTITY_PROPERTY(PROP_INPUT_MODE, (uint32_t)properties.getInputMode());
                 APPEND_ENTITY_PROPERTY(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, properties.getShowKeyboardFocusHighlight());
-                APPEND_ENTITY_PROPERTY(PROP_WEB_BACKGROUND_COLOR, properties.getWebBackgroundColor());
+                APPEND_ENTITY_PROPERTY(PROP_WEB_USE_BACKGROUND, properties.getUseBackground());
             }
 
             if (properties.getType() == EntityTypes::Line) {
@@ -3802,7 +3802,7 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
         READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_MAX_FPS, uint8_t, setMaxFPS);
         READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_INPUT_MODE, WebInputMode, setInputMode);
         READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, bool, setShowKeyboardFocusHighlight);
-        READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_WEB_BACKGROUND_COLOR, QString, setWebBackgroundColor);
+        READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_WEB_USE_BACKGROUND, bool, setUseBackground);
     }
 
     if (properties.getType() == EntityTypes::Line) {
@@ -4190,7 +4190,7 @@ void EntityItemProperties::markAllChanged() {
     _maxFPSChanged = true;
     _inputModeChanged = true;
     _showKeyboardFocusHighlightChanged = true;
-    _webBackgroundColor = true;
+    _useBackgroundChanged = true;
 
     // Polyline
     _linePointsChanged = true;
@@ -4881,8 +4881,8 @@ QList<QString> EntityItemProperties::listChangedProperties() {
     if (showKeyboardFocusHighlightChanged()) {
         out += "showKeyboardFocusHighlight";
     }
-    if (webBackgroundColorChanged()) {
-        out += "webBackgroundColor";
+    if (useBackgroundChanged()) {
+        out += "useBackground";
     }
 
     // Shape
diff --git a/libraries/entities/src/EntityItemProperties.h b/libraries/entities/src/EntityItemProperties.h
index 6049391ba6..f7fde73430 100644
--- a/libraries/entities/src/EntityItemProperties.h
+++ b/libraries/entities/src/EntityItemProperties.h
@@ -366,7 +366,7 @@ public:
     DEFINE_PROPERTY_REF(PROP_MAX_FPS, MaxFPS, maxFPS, uint8_t, WebEntityItem::DEFAULT_MAX_FPS);
     DEFINE_PROPERTY_REF_ENUM(PROP_INPUT_MODE, InputMode, inputMode, WebInputMode, WebInputMode::TOUCH);
     DEFINE_PROPERTY_REF(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, ShowKeyboardFocusHighlight, showKeyboardFocusHighlight, bool, true);
-    DEFINE_PROPERTY_REF(PROP_WEB_BACKGROUND_COLOR, WebBackgroundColor, webBackgroundColor, QString, WebEntityItem::DEFAULT_WEB_BACKGROUND_COLOR);
+    DEFINE_PROPERTY_REF(PROP_WEB_USE_BACKGROUND, UseBackground, useBackground, bool, true);
 
     // Polyline
     DEFINE_PROPERTY_REF(PROP_LINE_POINTS, LinePoints, linePoints, QVector<glm::vec3>, ENTITY_ITEM_DEFAULT_EMPTY_VEC3_QVEC);
diff --git a/libraries/entities/src/EntityPropertyFlags.h b/libraries/entities/src/EntityPropertyFlags.h
index 0e068544e3..93bb8a89a7 100644
--- a/libraries/entities/src/EntityPropertyFlags.h
+++ b/libraries/entities/src/EntityPropertyFlags.h
@@ -318,7 +318,7 @@ enum EntityPropertyList {
     PROP_MAX_FPS = PROP_DERIVED_3,
     PROP_INPUT_MODE = PROP_DERIVED_4,
     PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT = PROP_DERIVED_5,
-    PROP_WEB_BACKGROUND_COLOR = PROP_DERIVED_6,
+    PROP_WEB_USE_BACKGROUND = PROP_DERIVED_6,
 
     // Polyline
     PROP_LINE_POINTS = PROP_DERIVED_0,
diff --git a/libraries/entities/src/WebEntityItem.cpp b/libraries/entities/src/WebEntityItem.cpp
index 5419dca53c..99daca47f4 100644
--- a/libraries/entities/src/WebEntityItem.cpp
+++ b/libraries/entities/src/WebEntityItem.cpp
@@ -26,7 +26,6 @@
 
 const QString WebEntityItem::DEFAULT_SOURCE_URL = NetworkingConstants::WEB_ENTITY_DEFAULT_SOURCE_URL;
 const uint8_t WebEntityItem::DEFAULT_MAX_FPS = 10;
-const QString WebEntityItem::DEFAULT_WEB_BACKGROUND_COLOR = "#FFFFFFFF";
 
 EntityItemPointer WebEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) {
     EntityItemPointer entity(new WebEntityItem(entityID), [](EntityItem* ptr) { ptr->deleteLater(); });
@@ -63,7 +62,7 @@ EntityItemProperties WebEntityItem::getProperties(const EntityPropertyFlags& des
     COPY_ENTITY_PROPERTY_TO_PROPERTIES(maxFPS, getMaxFPS);
     COPY_ENTITY_PROPERTY_TO_PROPERTIES(inputMode, getInputMode);
     COPY_ENTITY_PROPERTY_TO_PROPERTIES(showKeyboardFocusHighlight, getShowKeyboardFocusHighlight);
-    COPY_ENTITY_PROPERTY_TO_PROPERTIES(webBackgroundColor, getWebBackgroundColor);
+    COPY_ENTITY_PROPERTY_TO_PROPERTIES(useBackground, getUseBackground);
     return properties;
 }
 
@@ -86,7 +85,7 @@ bool WebEntityItem::setProperties(const EntityItemProperties& properties) {
     SET_ENTITY_PROPERTY_FROM_PROPERTIES(maxFPS, setMaxFPS);
     SET_ENTITY_PROPERTY_FROM_PROPERTIES(inputMode, setInputMode);
     SET_ENTITY_PROPERTY_FROM_PROPERTIES(showKeyboardFocusHighlight, setShowKeyboardFocusHighlight);
-    SET_ENTITY_PROPERTY_FROM_PROPERTIES(webBackgroundColor, setWebBackgroundColor);
+    SET_ENTITY_PROPERTY_FROM_PROPERTIES(useBackground, setUseBackground);
 
     if (somethingChanged) {
         bool wantDebug = false;
@@ -127,7 +126,7 @@ int WebEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data, i
     READ_ENTITY_PROPERTY(PROP_MAX_FPS, uint8_t, setMaxFPS);
     READ_ENTITY_PROPERTY(PROP_INPUT_MODE, WebInputMode, setInputMode);
     READ_ENTITY_PROPERTY(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, bool, setShowKeyboardFocusHighlight);
-    READ_ENTITY_PROPERTY(PROP_WEB_BACKGROUND_COLOR, QString, setWebBackgroundColor);
+    READ_ENTITY_PROPERTY(PROP_WEB_USE_BACKGROUND, bool, setUseBackground);
 
     return bytesRead;
 }
@@ -145,7 +144,7 @@ EntityPropertyFlags WebEntityItem::getEntityProperties(EncodeBitstreamParams& pa
     requestedProperties += PROP_MAX_FPS;
     requestedProperties += PROP_INPUT_MODE;
     requestedProperties += PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT;
-    requestedProperties += PROP_WEB_BACKGROUND_COLOR;
+    requestedProperties += PROP_WEB_USE_BACKGROUND;
     return requestedProperties;
 }
 
@@ -172,7 +171,7 @@ void WebEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBitst
     APPEND_ENTITY_PROPERTY(PROP_MAX_FPS, getMaxFPS());
     APPEND_ENTITY_PROPERTY(PROP_INPUT_MODE, (uint32_t)getInputMode());
     APPEND_ENTITY_PROPERTY(PROP_SHOW_KEYBOARD_FOCUS_HIGHLIGHT, getShowKeyboardFocusHighlight());
-    APPEND_ENTITY_PROPERTY(PROP_WEB_BACKGROUND_COLOR, getWebBackgroundColor());
+    APPEND_ENTITY_PROPERTY(PROP_WEB_USE_BACKGROUND, getUseBackground());
 }
 
 glm::vec3 WebEntityItem::getRaycastDimensions() const {
@@ -367,15 +366,15 @@ bool WebEntityItem::getShowKeyboardFocusHighlight() const {
     return _showKeyboardFocusHighlight;
 }
 
-void WebEntityItem::setWebBackgroundColor(const QString& value) {
+void WebEntityItem::setUseBackground(bool value) {
     withWriteLock([&] {
-        _needsRenderUpdate |= _webBackgroundColor != value;
-        _webBackgroundColor = value;
+        _needsRenderUpdate |= _useBackground != value;
+        _useBackground = value;
     });
 }
 
-QString WebEntityItem::getWebBackgroundColor() const {
-    return resultWithReadLock<QString>([&] { return _webBackgroundColor; });
+bool WebEntityItem::getUseBackground() const {
+    return resultWithReadLock<bool>([&] { return _useBackground; });
 }
 
 PulsePropertyGroup WebEntityItem::getPulseProperties() const {
diff --git a/libraries/entities/src/WebEntityItem.h b/libraries/entities/src/WebEntityItem.h
index 25a0a162e5..8b92cf3bb6 100644
--- a/libraries/entities/src/WebEntityItem.h
+++ b/libraries/entities/src/WebEntityItem.h
@@ -81,15 +81,14 @@ public:
     void setMaxFPS(uint8_t value);
     uint8_t getMaxFPS() const;
 
-    static const QString DEFAULT_WEB_BACKGROUND_COLOR;
-    void setWebBackgroundColor(const QString& value);
-    QString getWebBackgroundColor() const;
-
     void setInputMode(const WebInputMode& value);
     WebInputMode getInputMode() const;
 
     bool getShowKeyboardFocusHighlight() const;
     void setShowKeyboardFocusHighlight(bool value);
+    
+    bool getUseBackground() const;
+    void setUseBackground(bool value);
 
     PulsePropertyGroup getPulseProperties() const;
 
@@ -103,9 +102,9 @@ protected:
     uint16_t _dpi;
     QString _scriptURL;
     uint8_t _maxFPS;
-    QString _webBackgroundColor;
     WebInputMode _inputMode;
     bool _showKeyboardFocusHighlight;
+    bool _useBackground;
     bool _localSafeContext { false };
 };