Offers the ability to save tab(s) and bookmarks as Internet shortcut files.
Save as Shortcut Extension
-Description-
\tPersonally, I've always used Internet shortcut files for a variety of reasons. For example:
\t\t1. To passively share links to content via shared folders.
\t\t2. To supersede the temporary use of pinned tabs and bookmarks.
\t\t3. As portable links.
\t\t4. To accompany resources (installers with links to the websites, projects with links to assets, etc).
\tHowever, I always found them so awkward to create, hence me creating this extension.
-FAQ-
\tQ: As Chrome manifest v2 is being depreciated in 2024, is this extension being updated to support v3?
\tA: Yes, after quite a lot of work, I have successfully rewritten Save as Shortcut to support Chrome manifest v3 and its asynchronous service workers.
\tQ: Why does this extension say that it reads my browsing history?
\tA: I don't know. It does not. To see the real permissions, check file \"%localAppData%\\Google\\Chrome\\User Data\\Default\\Extensions\\flehofiklehmnnolpjcamplcnmhgcbkk\\
\tQ: Are you aware of X issue?
\tA: As of 2024/11/23, I'm not aware of any issues.
\tQ: Can this extension be updated to do X?
\tA: I'm open to ideas so feel free to contact me.
\tQ: Can I test upcoming features and fixes?
\tA: Yes, there is a beta version available here: https://chrome.google.com/webstore/detail/save-as-shortcut-beta/kmemfmaclfmhaddkneldhbcmlpoanbmg
\t
\tQ: Does this extension have any tracking or collect any personal information?
\tA: Nope. Simple as that. In fact, third parties regularly offer to pay me relatively large sums of money per month to inject their code into my app and I have always refused because I hate it when other developers do that so I don't want to be that person.
\tQ: Can I donate?
\tA: Sure. 😊 https://paypal.me/mythofechelon
-Version history-
\t• 5.70.2294, 2024/11/10 (published to beta first):
\t\t- Changed method of triggering the download from chrome.downloads.download to chrome.scripting.executeScript with simulated clicks, hence adding \"permissions\" → \"active_tab\" and \"scripting\" and removing \"permissions\" → \"downloads\". This should resolve the following issues caused by the Chrome API:
\t\t\t+ File name conflicts with other extensions.
\t\t\t+ Saved folder always being \"Downloads\".
\t\t\t+ Potentially other things like inconsistent triggering.
\t• 5.69.2235, 2024/10/28 (published to beta first):
\t\t- As requested by users, exposed internal logic as new option \"Shortcut file maximum characters\".
\t• 5.68.2220, 2024/09/15 to 2024/09/22 (published to beta first):
\t\t- Consolidated popup logging to service worker so all data is in one place which makes it easier to diagnose on-load issues with the popup as closing the popup closes the inspect window.
\t\t- Added instructions on enabling developer mode which reveals the option to inspect the service worker in order to get the diagnostic log.
\t\t- Implemented usage of chrome.downloads.onDeterminingFilename to resolve conflict with other extensions which was causing the saved file to be named \"download\".
\t• 5.67.2213, 2024/05/25 (published to beta first):
\t\t- Changed manifest version from 2 to 3 which required the following:
\t\t\t+ As background pages have been removed, replaced with a service worker.
\t\t\t+ As service workers cannot access localStorage, replaced usage with chrome.storage.local and message passing between service worker and popup.
\t\t\t+ As service workers are inherently asynchronous but code needs to be processed synchronously, changed all functions to be async and all function calls to use await.
\t\t\t+ As service workers don't have a page, changed download method from simulating a click on the background page to chrome.downloads.download (hence new permission \"downloads\").
\t\t\t+ Replaced chrome.contextMenus.create → onclick with chrome.contextMenus.onClicked.addListener.
\t\t\t+ As service workers cannot use chrome.extension.getViews to access the popup page, replaced usage with message passing.
\t\t- Upgraded JSZip from v3.2.1 to v3.10.1.
\t• 4.66.1952, 2024/06/06:
\t\t- So that user options / preferences are preserved, added code to frequently migrate the data from localStorage to chrome.storage.local (hence new permission \"storage\") in preparation for the migration to already-completed Save as Shortcut v5 which uses Chrome manifest v3 which cannot access localStorage.
\t• 4.65.1944, 2021/07/20 (published to beta first):
\t\t- Implemented trimming of file names larger than 225 characters (Windows NTFS maximum of 255 minus spacing for prefixes of 30), as these were breaking extraction of ZIP files.
\t• 4.64.1939, 2021/06/11:
\t\t- Implemented workaround for Google Chrome version ~91.0.4472.77 bug / error \"Unchecked runtime.lastError: Tabs cannot be queried right now (user may be dragging a tab).\" Refer to https://stackoverflow.com/questions/67806779/im-getting-an-error-tabs-cannot-be-edited-right-now-user-may-be-dragging-a-ta
\t• 4.64.1936, 2021/05/15:
\t\t- Fixed bug where context menu wouldn't be removed. This was due to an old localStorage variable name being referenced in a catchall if statement and, therefore, always being null and matching.
\t• 4.64, 2021/03/27 to 2021/03/28 (published to beta first):
\t\t- Changed option \"Diagnostic log and console\" from opening background page to including guidance on how to open the background page, as it was opening a secondary one that didn't include the logging data.
\t\t- Added copying to clipboard when selecting file name variables.
\t\t- Added help tooltips to the more obscure file name variables.
\t\t- Improved diagnostic logging details (greater detail, greater readability, consolidated background.js logging to also use function, removed 'background_Log(\"\")' and added newline characters to actual logging line, fixed logging of tab info objects).
\t\t- Improved performance by removing calls to background_processData_Generate_Name_Shortcut() from background_Tabs_Single_setDetails_* and adding them to the end of each original function.
\t\t- Changed option \"Preserve order in bookmarks archive\" to default to enabled.
\t\t- Changed handling of unnamed bookmarks, appending host in parenthesis to give some indication.
\t\t- Added handling of 0 tabs (happens when DevTools window is focused).
\t\t- Updated description to include saving of bookmarks as a feature.
\t\t- Converted the URL and archive name pattern fields from to
Source Manifest.json
Similar Extensions
Link Save 10,000+ 2 ★ 43.1KiB
Awesome Button Bar 10,000+ 21 ★ 45.48KiB
Save As File 10,000+ 6 ★ 31.58KiB
Ultra Button 10,000+ 66 ★ 144KiB
Chrome Url Saver 10,000+ 35 ★ 13.28KiB
MyMenu 10,000+ 82 ★ 144KiB
Extentie - extension manager 10,000+ 39 ★ 98.35KiB
Right Click Tab Navigation 10,000+ 20 ★ 30.62KiB
Quick Shortcuts 10,000+ 20 ★ 25.69KiB
Context Menu Bookmarks 10,000+ 16 ★ 8.31KiB
Tab-Sidebar 10,000+ 31 ★ 108KiB
TabMate 10,000+ 26 ★ 159KiB
Extension Control 10,000+ 35 ★ 392KiB
Extensioner 10,000+ 83 ★ 125KiB
Awesome Window & Tab Manager 10,000+ 28 ★ 81.28KiB
Super Focus Tabs 10,000+ 37 ★ 388KiB
Context Bookmarks 10,000+ 75 ★ 49.66KiB
Shortcuts for Google™ 10,000+ 3157 ★ 1.33MiB
Bookmarks Commander 10,000+ 58 ★ 98.41KiB
Extensions switcher 10,000+ 63 ★ 109KiB
Bookmark My Tabs 10,000+ 41 ★ 34.4KiB
Just Save 10,000+ 22 ★ 15.02KiB
Shortcuts for Chrome 10,000+ 21 ★ 129KiB
Extension Manager 10,000+ 43 ★ 132KiB
User reviews
Prashant (ID: 00000082a97b5755) Voted 5 ★ - Updated 06/17/2023
Matthew (ID: 000000ccfea64536) Voted 2 ★ - Updated 01/29/2023
yotta117 (ID: 00000086311dd303) Voted 5 ★ - Updated 01/27/2023
Laurent Hivon (ID: 000000049db88e26) Voted 5 ★ - Updated 09/28/2022
Артем Бородин (ID: 00000033c5a19bc7) Voted 5 ★ - Updated 08/31/2022