diff --git a/core/images/import-button.tid b/core/images/import-button.tid
new file mode 100644
index 000000000..88211353b
--- /dev/null
+++ b/core/images/import-button.tid
@@ -0,0 +1,8 @@
+title: $:/core/images/import-button
+tags: $:/tags/Image
+
+
\ No newline at end of file
diff --git a/core/language/en-GB/Buttons.multids b/core/language/en-GB/Buttons.multids
index 61f0359d9..28b17e19a 100644
--- a/core/language/en-GB/Buttons.multids
+++ b/core/language/en-GB/Buttons.multids
@@ -26,6 +26,8 @@ Encryption/SetPassword/Caption: set password
Encryption/SetPassword/Hint: Set a password for saving this wiki with encryption
FullScreen/Caption: full-screen
FullScreen/Hint: Enter or leave full-screen mode
+Import/Caption: import
+Import/Hint: Import files
Info/Caption: info
Info/Hint: Show information for this tiddler
Home/Caption: home
diff --git a/core/ui/PageControls/import.tid b/core/ui/PageControls/import.tid
new file mode 100644
index 000000000..0bb68ac81
--- /dev/null
+++ b/core/ui/PageControls/import.tid
@@ -0,0 +1,16 @@
+title: $:/core/ui/Buttons/import
+tags: $:/tags/PageControls
+caption: {{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}
+description: {{$:/language/Buttons/Import/Hint}}
+
+
+<$button title={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<>>
+<$list filter="[prefix[yes]]">
+{{$:/core/images/import-button}}
+$list>
+<$list filter="[prefix[yes]]">
+<$text text={{$:/language/Buttons/Import/Caption}}/>
+$list>
+$button>
+<$browse/>
+
diff --git a/core/wiki/config/PageControlButtons.multids b/core/wiki/config/PageControlButtons.multids
index 4c23178ed..ab191578e 100644
--- a/core/wiki/config/PageControlButtons.multids
+++ b/core/wiki/config/PageControlButtons.multids
@@ -4,6 +4,7 @@ core/ui/Buttons/close-all: hide
core/ui/Buttons/encryption: hide
core/ui/Buttons/full-screen: hide
core/ui/Buttons/home: hide
+core/ui/Buttons/import: hide
core/ui/Buttons/language: hide
core/ui/Buttons/more-page-actions: hide
core/ui/Buttons/permaview: hide
diff --git a/core/wiki/tags/PageControls.tid b/core/wiki/tags/PageControls.tid
index e1bca558f..af98a288b 100644
--- a/core/wiki/tags/PageControls.tid
+++ b/core/wiki/tags/PageControls.tid
@@ -1,2 +1,2 @@
title: $:/tags/PageControls
-list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/save-wiki]]
+list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/more-page-actions]]
diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid
index 9aa2b7255..8fb6a9c42 100644
--- a/themes/tiddlywiki/vanilla/base.tid
+++ b/themes/tiddlywiki/vanilla/base.tid
@@ -1352,3 +1352,28 @@ body.tw-dirty span.tw-dirty-indicator, body.tw-dirty span.tw-dirty-indicator svg
fill: <>;
color: <>;
}
+
+/*
+** File inputs
+*/
+
+.tw-file-input-wrapper {
+ position: relative;
+}
+
+.tw-file-input-wrapper input[type=file] {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ font-size: 999px;
+ max-width: 100%;
+ max-height: 100%;
+ filter: alpha(opacity=0);
+ opacity: 0;
+ outline: none;
+ background: white;
+ cursor: pointer;
+ display: inline-block;
+}