diff --git a/src/resources/lang/en/ui.php b/src/resources/lang/en/ui.php
--- a/src/resources/lang/en/ui.php
+++ b/src/resources/lang/en/ui.php
@@ -337,6 +337,7 @@
     'room' => [
         'create' => "Create room",
         'delete' => "Delete room",
+        'copy-location' => "Copy room location",
         'description-hint' => "This is an optional short description for the room, so you can find it more easily on the list.",
         'goto' => "Enter the room",
         'list-empty' => "There are no conference rooms in this account.",
diff --git a/src/resources/themes/app.scss b/src/resources/themes/app.scss
--- a/src/resources/themes/app.scss
+++ b/src/resources/themes/app.scss
@@ -127,6 +127,10 @@
         white-space: nowrap;
     }
 
+    td .btn-link {
+        vertical-align: initial;
+    }
+
     td.email,
     td.price,
     td.datetime,
diff --git a/src/resources/vue/Room/List.vue b/src/resources/vue/Room/List.vue
--- a/src/resources/vue/Room/List.vue
+++ b/src/resources/vue/Room/List.vue
@@ -12,7 +12,8 @@
                 <div class="card-text">
                     <list-table :list="rooms" :setup="setup">
                         <template #buttons="{ item }">
-                            <btn class="btn-link p-0 ms-1 lh-1" @click="goto(item)" icon="arrow-up-right-from-square" :title="$t('room.goto')"></btn>
+                            <btn class="btn-link p-0 lh-1" @click="roomLinkCopy(item)" :icon="['far', 'clipboard']" :title="$t('room.copy-location')"></btn>
+                            <btn class="btn-link p-0 lh-1 ms-2" @click="goto(item)" icon="arrow-up-right-from-square" :title="$t('room.goto')"></btn>
                         </template>
                     </list-table>
                 </div>
@@ -26,6 +27,7 @@
     import { library } from '@fortawesome/fontawesome-svg-core'
 
     library.add(
+        require('@fortawesome/free-regular-svg-icons/faClipboard').definition,
         require('@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare').definition,
         require('@fortawesome/free-solid-svg-icons/faComments').definition
     )
@@ -48,7 +50,8 @@
                         {
                             prop: 'name',
                             icon: 'comments',
-                            link: true
+                            link: true,
+                            className: 'text-nowrap'
                         },
                         {
                             prop: 'description',
@@ -73,8 +76,13 @@
         },
         methods: {
             goto(room) {
-                const location = window.config['app.url'] + '/meet/' + encodeURI(room.name)
-                window.open(location, '_blank')
+                window.open(this.roomLocation(room), '_blank')
+            },
+            roomLinkCopy(room) {
+                navigator.clipboard.writeText(this.roomLocation(room));
+            },
+            roomLocation(room) {
+                return window.config['app.url'] + '/meet/' + encodeURI(room.name)
             }
         }
     }
diff --git a/src/tests/Browser/Meet/RoomsTest.php b/src/tests/Browser/Meet/RoomsTest.php
--- a/src/tests/Browser/Meet/RoomsTest.php
+++ b/src/tests/Browser/Meet/RoomsTest.php
@@ -75,16 +75,18 @@
                         ->with('tbody tr:nth-child(1)', function ($browser) {
                             $browser->assertSeeIn('td:nth-child(1) a', 'john')
                                 ->assertSeeIn('td:nth-child(2) a', "Standard room")
-                                ->assertVisible('td.buttons button')
-                                ->assertAttribute('td.buttons button', 'title', 'Enter the room');
+                                ->assertElementsCount('td.buttons button', 2)
+                                ->assertAttribute('td.buttons button:nth-child(1)', 'title', 'Copy room location')
+                                ->assertAttribute('td.buttons button:nth-child(2)', 'title', 'Enter the room');
                         })
                         ->with('tbody tr:nth-child(2)', function ($browser) {
                             $browser->assertSeeIn('td:nth-child(1) a', 'shared')
                                 ->assertSeeIn('td:nth-child(2) a', "Shared room")
-                                ->assertVisible('td.buttons button')
-                                ->assertAttribute('td.buttons button', 'title', 'Enter the room');
+                                ->assertElementsCount('td.buttons button', 2)
+                                ->assertAttribute('td.buttons button:nth-child(1)', 'title', 'Copy room location')
+                                ->assertAttribute('td.buttons button:nth-child(2)', 'title', 'Enter the room');
                         })
-                        ->click('tbody tr:nth-child(1) button');
+                        ->click('tbody tr:nth-child(1) button:nth-child(2)');
                 });
 
             $newWindow = collect($browser->driver->getWindowHandles())->last();