Show HN: NotepadJs – A cross-platform love letter to Notepad
Comments
quintu5
albert_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?
zoover2020
And this is how notepad++ was born.
donkeylazy456
then we need NotepadPlusPlusJs!
leonardinius
sounds like mac osx notes app to me
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.
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!
TeMPOraL
I'd consider doing that if I could rely on the browser not losing state after OS restart, browser restart, unexpected forced browser restart because of some autoupdate bullshit, accidental refresh, automatic unloading of tabs, badly thought-out shortcut for closing the browser window, unexpected update of the web page/PWA into which I typed something, accidental cookie wipe, certificate expiry, lack of reliable form of local storage[0], and a bunch of other things that make me consider everything in the browser ephemeral unless stored on a server.
(I'm not a browser fan, but even in my weaker moments, this one thing is what stops me from fully embracing living in browser.)
--
[0] - AFAIK there's still nothing in the browser one could reliably use to get the equivalent of persisting data to a hard drive. There's like 5 different mechanisms that could allow it, if you could rely on any of them, and of course none of them are user-inspectable except through dev tools.
crazygringo
But literally everything you describe is worse outside of the browser.
My browser does a better job of retaining state than most of my apps. My desktop apps have clunkier auto-update than my browser. My browser apps auto-save to the cloud, my desktop ones often don't auto-save at all.
TeMPOraL
I'm talking strictly client side. I literally said "unless stored on a server", and let me remind everyone that "cloud" just means other people's computers.
(Also that "serverless" really means "there actually is a server, but you don't get to manage it".)
Desktop apps can save files and read files. That alone puts them miles ahead of any purely client-side app. As for convenience, most apps today auto-save stuff when you're not looking, but lack of that feature isn't a big deal for me - I started using computers some 25 years ago, so I habitually press "CTRL+S" every couple seconds without even realizing it.
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).
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.
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
I like Coteditor [1] as an open-source, minimal editor. TextEdit isn't even plain text by default, IIRC.
pasc1878
Notepad was not cross platform
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.
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.
setopt
I disagree. Go into the TextEdit settings (Cmd-,) and change the default format from "rich text" to "plain text". Next time you open TextEdit, all rich-text features are disabled (no formatting toolbars, no Cmd-B/Cmd-I keybindings, etc.), so the interface is to me indistinguishable from NotePad.
This is completely different from Word.
CoryAlexMartin
You cannot use bold or italics in plain text mode in TextEdit. It is truly a plain text mode. If you try to switch from rich text to plain text, and you utilize any rich text features in your document, it will warn you that you're going to lose that information.
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.
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.
npteljes
Definitely normal behavior, and also human, natural behavior. Things are where I left them last time.
I understand that in the 90s, disk space was a concern, and that disk operations were a big deal with moving parts, etc. But we really need to move on from this paradigm.
I just tested, and it looks like that "new" software does this on Linux, but "old" software didn't modernize. IntelliJ products, VSCodium does this, QOwnNote does it, Kate does it when I explicitly start a session (bit of a nonsense...), and no other software that I use does it: LibreOffice products, KWrite, Geany, GIMP etc all operate on the paradigm that when closing, it asks if it should save the draft document or no.
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.
npteljes
Thanks, I'll check that out!
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
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.
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
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.
Lucasoato
Cool project! I wonder what the authors didn’t like of the macOS Text Edit, especially when set up on its simpler text only interface.
bluedino
> especially when set up on its simpler text only interface.
That's part of it. Classic NotePad is just plain simple.
skylovescoffee
I can't install the app from firefox, please consider an easier way to install it
ericyd
PWA is the most universal installer available. You can install a PWA with Firefox, but the instructions might look different from the screenshot in the repo. Alternatively you can use it at the hosted URL in the github readme without installing at all.
khedoros1
An up-to-date Firefox install gives me this message when I even go to the site:
> Sorry, your browser does not support the File System Access API. Plese consider using another browser for installing this app.
Firefox also seems to require an extension to install PWAs: https://addons.mozilla.org/en-US/firefox/addon/pwas-for-fire... (and not just an extension, but a couple of external programs need to be installed too).
So you can jump through the extra hoops to get the PWA installed, but the first warning seems accurate. Can't load or save files.
miramba
Yes, this API is only available in Chrome and Edge on PCs it seems: https://caniuse.com/?search=filesystem%20access%20api
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.
Koshkin
I recommend SciTE. Is seems like a perfect middle ground between Notepad and more feature-rich text editors like Notepad++.
h4ch1
https://chromewebstore.google.com/detail/markdown-new-tab/de...
probably the best browser based note taking app for me, full markdown support + persistence.
smittywerben
I usually don't comment because most fancy sites posted on here don't work on my phone since I haven't updated in awhile. However, your site lets me demo it without the file api which is considerate.
It's funny people are saying it takes an entire OS to use this when I dream of emulating DOS as a print spooler with Wordperfect, the last non-enshittified font selector. That's my working theory. Good day sir.
rauli_
Didn't know notepad has tabs these days. It's been almost a decade since I last used it.
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).
markatkinson
Wow, I am in exactly the same position. I grew up in the 90's using all the versions of Windows. Notepad became such an essential part of my workflows that even after 10 years of being on a Mac, I still mentally "reach for" Notepad. I have yet to find a suitable replacement.
Thanks for this, will take a look. (One thing that comes close is Stickies on MacOS)
setopt
If you open the TextEdit settings, you can change the default format from "rich text" to "plain text", and setup other default settings if you want (font, wrapping, default window size, etc.).
After a 5min config there, I don't notice a difference from NotePad, but I was never a "NotePad power user" though. For example, never used the ".LOG" feature.
jmb99
What makes (plain-text) TextEdit insufficient?
disembiggen
It refuses to open files it doesn't like the filetype of, it won't save as an arbitrary filetype, it defaults to being a variable-width font and it has a few too many bells and whistles because it's clearly meant to edit RTF files, I'd say. Sometimes you want something completely spartan.
neilalexander
It opens anything — the "Open" dialog will allow you to select any filetype and you can also drop any kind of file onto the TextEdit icon in the Dock to open it.
As for plain-text, you can go into the Settings and switch it into plain-text mode, which it remembers.
You can even set it not to append ".txt" to the filename when saving, allowing you to enter whatever file extension you want when saving.
soulofmischief
Both Notepad and TextEdit are some of the most insufferably feature-void applications I've ever used. Even for a basic note-taking app.
markatkinson
That's part of the charm. I think I've mostly replaced Notepad with Clipy.
miramba
I would recommend TextMate: https://macromates.com
It's feature-rich, but it just shows´an empty text window on startup. Can't remember if that's the default or I configured it that way.
For larger text files I use vscode.
vunderba
Sublime seems like a good replacement - cross platform, Open anything, gets out of your way, automatic saved buffers, etc.
Levitating
[flagged]
dang
This comment breaks both the site guidelines (https://news.ycombinator.com/newsguidelines.html) and the Show HN guidelines (https://news.ycombinator.com/showhn.html).
Please don't dismiss other people's work like this. It poisons community and disincentivizes people from sharing in the future, making HN worse for all of us.
All: if your comment begins with a snarky "Great, another", you should probably rethink whether the entire post is suitable for this site.
p.s. I don't mean to pile on what dspillett already said and am sorry if it felt that way. I just need to say something because it's so important to the future of the community here. Especially when someone is personally sharing their own work.
not_your_vase
I don't think you are right on this one.
This is a primarily tech oriented website. When someone posts a 2 years old cross-platform project that's arguably suboptimal from many technical perspectives, and the submitter explicitly asks for feedback and criticism, I think it is fair game to actually give feedback instead of hugboxing.
dang
Certainly—but it is not hard to do that while also respecting the guidelines. Here is one thing that https://news.ycombinator.com/showhn.html says about comments on Show HNs:
When something isn't good, you needn't pretend that it is, but don't be gratuitously negative.
Making criticisms by starting out with "Great, another" is snarky and gratuitously negative. This is not a borderline call.Also, "we have had better for decades" is arguably a shallow dismissal of someone's work, which https://news.ycombinator.com/newsguidelines.html asks commenters to avoid:
Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.
If I make my own toaster as a side project, pointing out that there have been better toasters for decades is not meaningfully engaging with that work.A better option might be to curiously inquire: what is it about the toasters that have existed for decades that wasn't satisfying you? And then I might say "well, I wanted it to have a progress bar". And you might say "Mousetoaster was released 18 years ago and more or less already had that," and then we could have an interesting conversation about it. That's the sort of interaction we want, and it still offers lots of ways to talk about what's missing from a project, or the fact that it won't work on Firefox.
dspillett
Great. Another person complaining about something they can just choose not to use, criticising a pet project as if it is intended to be something that will change the world.
> This PWA will also never work on Firefox.
True. But as much as I like Firefox, that doesn't seem to me to be NotepadJs's doing.
Levitating
> Great. Another person complaining about something they can just choose not to use, criticising a pet project as if it is intended to be something that will change the world.
That's fair. I am just upset with a general shift away from simple, accessible cross-platform GUI libraries to complicated web apps.
Literally any GUI toolkit has a textbox widget. You could make a cross-platform qt text editor in 100~ lines of Python.
> as much as I like Firefox, that doesn't seem to me to be NotepadJs's doing.
Well NotepadJS chose to create a PWA that can only be used in Chrome and Opera. Though like you said, it's just a pet project.
dspillett
> Well NotepadJS chose to create a PWA that can only be used in Chrome and Opera.
Is there another way that I'm unaware of to conveniently edit arbitrary local files in a browser that has wider support (or anything upcoming that doesn't have much support yet)?
pvg
I am just upset with a general shift away
A Show HN, and really, most HN threads aren't the place to vent about this. It's even mentioned in the site docs:
Please don't post shallow dismissals, especially of other people's work.
porridgeraisin
> Firefox
And that's entirely firefox's doing.
CursedUrn
I agree with your critique. We really shouldn't be celebrating when a simple text editor requires literally millions of lines of code to run.
onion2k
We really shouldn't be celebrating when a simple text editor requires literally millions of lines of code to run.
If you include the OS, the hardware BIOS, the switch gear at the ISP, the internet backbone, DNS, BIND, etc, etc it's probably into the billions.
robertoandred
TextEdit is as simple as Notepad.
pjmlp
Unfortunely I cannot share the same nostalgia, as the very first thing I got used to do in new Windows installations was to install XEmacs, UltraEdit, Notepad++, SlickEdit, whatever everyone else is kind of using on the project.
Kudos for the project though.
talldayo
While we're complaining about entirely tangential and inconsequential papercuts, I resent the 5 seconds it takes me to install bbedit and git on Mac.
Upvotes, please? I said software was bad - I expect to be showered with praise for my taste and quality of opinion.
cutler
I don't get the nostalgia for NotePad - the most featureless piece of software ever invented.
setopt
There's something to say for minimalism as a distraction-free mechanism. I've wasted a lot of time during my life reconfiguring Emacs or Vim, switching back and forth between various GUI note-taking apps, or tweaking my LaTeX preambles. The brutal minimalism of something like NotePad leaves you with less distractions.
I think it's the same reason I sometimes decide to leave the computer entirely and grab some pen and paper to really get things done.
eviks
When you can't even undo properly (while you're used to this in other apps), does this annoyance not distract you from whatever you're doing in the text editor?
Levitating
> There's something to say for minimalism as a distraction-free mechanism.
I think there's little credit to be given here. A text widget is part of any gui toolkit and there are hundreds of notepad like text editors. I think basically every DE on Linux has their own...
qwertox
I feel the same. If a text editor doesn't have at least multiple levels of undo, it's worthless. IDK if it even had redo.
There's been UltraEdit since 1994, SciTE since 1999, Notepad++ since 2003, the browser's address bar to remove formatting or just for holding some text...
vunderba
Honestly, I also don't know anyone who has any fond remembrance of notepad. The majority of my friends on windows used notepad++ and then later sublime.
Just like how almost everyone I knew used Paint.NET rather than mspaint.
rpgbr
Nice! Where are you from, itkeman? I posted about your web app on my pt_BR blog: https://manualdousuario.net/notepadjs-bloco-de-notas-macos/
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.