Show HN: NotepadJs – A cross-platform love letter to Notepad
122 comments
·January 22, 2025albert_e
Love this, thanks for sharing!
If I had the time I would explore the following myself ... but I am guessing I will never get to them at all so posting my thoughts aloud:
- Could it be modified to optionally store the files online, say a selected git repo or s3 bucket (credentials configured in a local file)
- Could it have a flavour that accepts markdown formatting/preview
- Could we allow users to "paste" images from clipboard (or drag-and-drop image files) to have them saved alongside the txt/md files or in a subfolder
- obligatory Dark mode (toggle)
I know all this diverges from the spirit of original notepad but these were some things I desired in a lightweight awlays online notepad that i can access from all my devices. Kind of like a diet Obsidian with sync?
leonardinius
sounds like mac osx notes app to me
quintu5
I’ve got a chrome extension sitting in the review queue right now that leans a bit more dev-centric in that it opens a Monaco-based editor (with markdown preview) whenever it detects you’ve opened a raw text file in the current tab.
It also supports creating new documents, but that’s more of an ancillary use case (for me anyhow).
The nice thing is that it’s 100% local.
hliyan
For some reason, I opened this hoping to see a JS version of JPad Pro, if anyone can remember that from 25 years ago: https://archive.org/details/tucows_296665_JPad_Pro
Didn't have autocomplete, but was incredibly fast compared to Eclipse or NetBeans or other IDEs back in the day, and I used to swear by it. It also had a basic scripting language with which you could automate your work. But yes, off-topic.
crazygringo
This is really cool, I love this.
I do most of my work in browser tabs, but often need a "scratch pad" to paste or type things in, like snippets of code or a short todo list. And I use TextEdit on my Mac, but I'd prefer a browser tab so this is wonderful.
Four requests, from most to least important:
1) Let me choose the font and font size? For code snippets, I really want monospace. And make sure the preference persists
2) Keep current contents in local storage, so it survives a browser restart? (Or maybe you do already?)
3) Having tabs feels redundant with my browser tabs -- I'd rather get rid of the extra bar at the top and just have a 100% clean typing space, with just the (wonderfully unobtrusive) menu bar. (I understand their utility in a PWA though, maybe a menu option to toggle the tab bar? Also full screen mode to hide the menu bar for a pure editing experience?)
4) Get a proper domain name. :) So I can start typing "note" in my address bar and it will autocomplete. Surely "notepadjs" is available for some TLD? Or "notepadx" (for cross-platform) or "notepage" (for webpage) or similar?
But this is a great idea. I'm surprised I've never come across something like it before, it seems so obvious in hindsight. I love it.
vallode
For what it's worth, I have a bookmarklet with these contents:
data:text/html,<body contenteditable style="line-height:1.5;font-size:22px;max-width:75ch">type here...
I use this _all_ the time for very quick note taking and writing that will later be copied elsewhere, think one to three sentences and then offload.pferde
I just hit Win+K, and my OS runs a simple text editor of my choice for me.
Maybe I'm getting old, but using a browser for something you have available natively seems like an antipattern to me.
stronglikedan
Those type of people live and work in the browser. Everything's a PWA. Little to no native app use. Like to manage apps (windows) by browser tab management instead of OS management. At least it's consistent across devices!
dspillett
Nice. I'll have to look into how localStorage works in such contexts, and if that is not badly maybe knock together a bookmarklet that does that but keeps text in case I accidentally close the window before I should (or Windows, when I'm using that, decides to reboot, as it is wont to do).
crazygringo
Oh thanks, that's genius! I just modified it to be monospace and I can guarantee you it'll be my new favorite bookmark.
Too bad its contents won't persist across a restart or accidental close tab, but as a scratch pad it's fantastic.
petemir
hm, perhaps you like edna?
poisonborz
What I learned: do not use ephemeral tools like this as scratchpad. You never know when you will need this data and as soon as you start saving these snippets it becomes tedious. Also unsaved tabs block software updates etc. Use something like Obsidian or default Notes on macos.
1f60c
I like Sindre Sorhus' Scratchpad (syncs across Mac, iPad and iPhone using iCloud).
Koshkin
I recommend SciTE. Is seems like a perfect middle ground between Notepad and more feature-rich text editors like Notepad++.
nottorp
Just to be the devil's advocate, notepad.exe is 200 kb.
How much space and ram does this use?
The MacOS textedit bundle is 2 Mb too.
TextMate's bundle is 38 Mb but even that is probably less than a browser, npm and all the baggage it comes with.
bangaladore
According to Chrome dev tools, 7.1 kB of network traffic, about 100 kB of total resources.
Actually much better than I expected.
RadiozRadioz
You need to include Chrome.
NotePad runs on Win32 (or whatever it is these days). This runs on Chrome + Win32.
bangaladore
NotePad runs on Windows. You need to include Windows.
The argument doesn't really pass the sniff test frankly. Windows is a general purpose operating system much like Chrome is a general purpose web browser.
Infact nowadays to get this sort of NotePad you'll always have Edge installed in your computer, so you don't even have to download Chrome!
rikafurude21
This notepad comes with a whole react framework, so take that as you will.
JTyQZSnP3cQGa8B
What's wrong with TextEdit on macOS?
It's good that you made an alternative but it's not serious. I need to run Firefox, enable JS, reload the page, there is no "top menu" or install button, the open/save button does nothing, I can't choose my own fonts, and I guess it doesn't work if I don't have an internet connection.
dspillett
(Not OP, but I did read the information they wrote.)
> What's wrong with TextEdit on macOS?
Nothing wrong as such, but does it match the “cross-platform” description?
> Firefox … the open/save button does nothing
As per the readme, it is using an API that is not yet supported in Firefox for local file access: https://caniuse.com/native-filesystem-api
> there is no "top menu" or install button
That is meaning the browser's menu. Perhaps there is better terminology that should be used here. The readme does show a screenshot of it, so it seems clear from that to me. The install option is found there.
> and I guess it doesn't work if I don't have an internet connection.
Also in the readme: “Installable as a PWA”, which I think implies offline support, given it doesn't have sync features so has no reason once installed that way to talk to the wider network.
JTyQZSnP3cQGa8B
> does it match the “cross-platform” description
Yes, it's a plain-text editor too. The files are compatible with the Commodore 64 if you need.
> not yet supported in Firefox ... implies offline support ...
It implies a lot more stuff than all the other pre-installed plain-text editors on every other OS.
dspillett
> It implies a lot more stuff than all the other pre-installed plain-text editors on every other OS.
I read it as promising Notepad features with anything else it mentions as extras, not more features it doesn't mention from other text editors.
vunderba
Cross platform refers to the application itself, not the files that it produces. TextEdit is a poor substitute, a much better alternative would be Sublime.
oneeyedpigeon
> That is meaning the browser's menu.
I'm sure this varies but, for me, on macOS Chrome, it's the '3 vertical dots' menu in the top right of the browser window. Very confusing instructions.
I also see an "Install Notepad" icon in my address bar, just to the left of the Bookmark icon. I never look in this area, though, so I totally missed it.
lucideer
Other criticisms may be valid, but TextEdit is a terrible comparison. TextEdit is comparable to Windows WordPad (another terrible app - which is why Microsoft dropped it). Both are rich-text , not plaintext editors. They're more like Microsoft Word without the features.
Notepad is a plaintext editor, of which their is no equivalent built into Macs outside of terminal applications.
rpgbr
You can change TextEdit to handle plain text: Format > Convert to plain text, or Shift + Command + T.
I prefer TextEdit over Notepad. Its undo is way better, and it's overall a snappier app.
sbuttgereit
I can do something similar with Microsoft Word as well.
But I also risk losing something in the process. Did I emphasize things with bold or italic in the editor? That will be lost when saving to plain text. In that sense Word and TextEdit are both correctly called rich text editors which just happen to have the ability to save to plain text.
Notepad, however, doesn't support the formatting... so you can't create something that you can't save. That's the difference.
andsoitis
You can switch TextEdit between rich text and plaintext modes.
itkeman
Hi, I wouldn't say there's anything wrong with TextEdit. It's what I had used for many years. It does have all kinds of extra features like input suggestions, auto capitalization and auto-correct (I couldn't find a way to disable these in the app, maybe somewhere in the general macOS settings).
Anyway, it's not about which app is better. If you love the Notepad experience, then you know - it's something about its simplicity, and perhaps its familiarity as well.
About being serious - this is indeed a side project. Sorry about FF support - since the relevant FS API isn't available there I added an alert indicating that on page load.
It does work without an internet connection though (PWAs are great)!
Ghoelian
KDE's KWrite is also available on macOS if you don't like TextEdit, as well as Kate which is more of an alternative to Notepad++, practically an IDE. Kate is my personal favourite text editor.
npteljes
Kate is fantastic. I rarely touch the built-in software out of a bad habit, but this one turned this around. One of the things it's missing from Notepad++ is the ability to just close the editor, open it again, and get back the workflow exactly where it was, but unsaved files as well. Kate can do it via sessions, but I need to create a session, and then after re-opening, tell it to yes, open that one session.
pferde
Can you run it as "kate --session MySession", with different sessions in different shortcuts, as needed?
There is also "Load last session" option in Kate's configuration, if you only ever use one session.
nottorp
> the ability to just close the editor, open it again, and get back the workflow exactly where it was, but unsaved files as well
Most text editors I use on MacOS do that, TextEdit included.
I'm only posting because I had come to think that's the normal behaviour, not an extra... haven't been using non mac os desktops too much in the past years.
stijnstijn
It is indeed not quite a drop-in replacement for the 'real' Notepad, but I do find the complaint that you need to enable JS for something that has 'JS' in its name a little strange. That's the platform it was made for, it may not be a platform you enjoy using, and it could perhaps have been made on another platform, but it wasn't. That's hardly a reason to call it "not serious".
bigstrat2003
Web apps are not a viable replacement for native apps, so I think it's a fair criticism.
hombre_fatal
I think they are most of the time. Most apps don't deserve to be installed on my computer for them to work. And there's no browser network bar nor browser plugins like uBlock Origin to control what they can do.
So native apps need to offer something more than "not a web app" to pay their rent on my system where they have often things like full filesystem access.
eviks
Mostly not a serious criticism:
> I need to run Firefox, enable JS, reload the page,
Or you can just open a tab, nothing to reload/enable/run
> there is no "top menu"
Of course there is, it's browser's top menu
> the open/save button does nothing
it opens/saves files in Chrome. Guess Firefox API limitations?
> I guess it doesn't work if I don't have an internet connection.
wrong guess, that's what "install" is for
crazygringo
> What's wrong with TextEdit on macOS?
I do most of my work in browser tabs. It's much more convenient for me to have a plaintext editor app as a tab I can position among my other tabs, rather than another window.
My email is a tab. My word processor is a tab. My files in the cloud are a tab. It makes sense that my plaintext editor should be a tab too. It's just UX consistency and convenience.
pasc1878
notepad is not in a browser tab so why is it better than TextEdit.
crazygringo
This is about NotepadJS not Notepad
moi2388
When I open texted it it doesn’t immediately open a new page for me to work on. I first have to select a folder, then create a new file, that’s annoying
jansan
Nice. And just like the newer Notepad version on Windows it supports more than ONE undo step!
WillAdams
Question --- does it support keyboard modifiers in the Find-Replace dialog? NP in Windows 11 doesn't, and it really trips me up when moving from my work laptop running Windows 10 which does (and Win 11 NotePad doesn't get these, it will be a major stumbling block for me).
canucker2016
Can you give an example of what you're looking for?
On my Win11 computer in notepad.exe:
- press Ctrl+H brings up a replace dialog - if I tap the ALT-key, tooltips pop up near the relevant buttons (D for search down, U for search up, R for replace, A for replace all)
- press CTRL-F brings up the find dialog - if I tap the ALT-key, tooltips pop up near the relevant buttons (D for search down, U for search up)
pressing the relevant key invokes the associated function, e.g. press D searches for the entered text in the window below the current cursor.
WillAdams
EDIT: Thank you for pointing that out.
In Windows 10 the "Replace" dialog has underlined accelerator shortcuts for
- _F_ind Next - _R_eplace - Replace _A_ll
which are obvious and visible in the dialog.
Having to tap alt is lousy UI, and frankly results in an ugly and cluttered appearance --- the underlines were able to communicate the functionality well, and far less obnoxious.
EDIT: Hopefully Windows 11 will develop a way to visually communicate this sort of functionality, as opposed to expecting folks to read a (non-existent) manual or randomly tapping keys.
nichos
Readers might be interested in notepad-next, which is under active development and cross platform: https://github.com/dail8859/NotepadNext
nashashmi
I always gravitate to Caret-T app on Google chrome. It was just as fast as notepad. And allowed for some customizable shortcuts like multi cursors.
These days the only thing that comes close is a feature rich vscode that is slower than other pwa apps.
nashashmi
There was also a nifty scratchpad by Google for Google chrome that would sync to gdrive. Google axed it. Then a couple of years later launched Google Keep. In summary, google destroyed Google Scratchpad PWA app, then destroyed Google PWA app store for desktop browsers. Then Google launched Google Keep but I thought it was not going to last long so I never got the hang of it.
Vt71fcAqt7
I suggest putting the link to the website in the about section on github. Currently it reads "No description, website or topics provided." Saves users from scrolling a bit.
As a native Windows user who switched to macOS a few years back, one thing I never got over was the simplicity and usefulness of the old school Notepad app. This app aims to recreate that very same experience, cross-platform and easily installable as a PWA.
I've been using this for personal use for around 2 years and I figured it was time to share it with the world. Criticism, issues and PRs are welcome. Thanks!