Skip to content

JSPaint

Replica of classic MS Paint in the browser. Open source and works offline.

Not yet verified
Demo online
MIT

Open the official app on jspaint.app

This tool is hosted by its maintainers. Click below to open jspaint.app in a new tab — it's their official demo.

Browse image & tools tools →

What's next with JSPaint?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is JSPaint?

JSPaint is an open-source digital drawing tool designed to replicate the functionality of Microsoft Paint while adding modern features like vertical text editing and font customization. It serves as a lightweight alternative for users who need basic graphic creation capabilities without complex software. The tool is primarily used by casual creators, students, and developers requiring simple image manipulation. JSPaint addresses the need for an accessible, cross-platform solution that maintains compatibility with older software paradigms while incorporating improvements like font support and text formatting options. Its design prioritizes simplicity and ease of use, making it suitable for tasks ranging from quick sketches to basic design prototyping. The project's focus on open-source development allows for community-driven enhancements, though its feature set remains intentionally limited compared to advanced graphic editors.

How it works

JSPaint is a web-based digital painting tool that emulates the interface and core functions of Microsoft Paint. Developed as an open-source project, it provides a minimalist environment for creating and editing bitmap images. The tool's primary purpose is to offer a straightforward alternative to traditional raster graphics software, emphasizing accessibility and ease of use. The project's design philosophy centers on replicating the simplicity of MS Paint while introducing modern refinements. These include enhanced text handling, font customization options, and cross-platform compatibility through its Electron-based desktop application. Its open-source nature allows for community contributions, though the feature set remains intentionally focused on basic graphic tasks. JSPaint supports fundamental drawing operations such as line drawing, shape creation, and pixel manipulation. It includes a text toolbar with vertical text editing, catering to users working with East Asian languages. The desktop version integrates system font listings and supports AppImage builds for Linux systems. Recent updates added font dropdown fixes and improved text formatting options in compatible browsers.

How to use it

  1. 1Access the web version through jspaint.app or download the desktop app via the homepage. 2. Use the toolbar to select drawing tools, colors, and text options. 3. Edit text by toggling the font box from the View > Text Toolbar menu. 4. Save work using the file export options. Practical tips include checking for updates, utilizing the desktop app's font listing, and enabling vertical text editing for multilingual projects.

What it can do

  • AI Tools

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/jspaint
  • license: Open source
  • privacy: Opens an external demo

Limitations

  • Lacks advanced features like layers or vector graphics support
  • Web version may lag behind the latest desktop app updates
  • Limited color picker precision compared to professional tools
  • No built-in image optimization or export presets
  • Desktop app requires Electron runtime environment

Understanding the result

Replica of classic MS Paint in the browser. Open source and works offline.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by jspaint (MIT).
Built with
jspaint (https://github.com/jspaint)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Text
Output
Output
Open-source source & license

Built with https://github.com/jspaint. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
jspaint
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

What platforms does JSPaint run on?

The web version operates in modern browsers, while the desktop app supports Windows and Linux via AppImage builds. macOS compatibility is limited due to Electron framework constraints. Both versions require internet access for update checks, though the desktop app can function offline after initial setup.

How does JSPaint handle font customization?

The desktop application integrates system font listings through Electron's native module, allowing users to select installed fonts. The web version relies on browser font rendering capabilities. Vertical text editing is enabled via the View > Text Toolbar menu, but requires browser support for CSS text orientation properties.

How do I enable vertical text editing?

Launch the desktop app and navigate to View > Text Toolbar to toggle the font box. For web versions, ensure your browser supports CSS text orientation properties. The feature is disabled by default due to limited use cases, but can be activated through the text toolbar options.

How does JSPaint compare to Microsoft Paint?

JSPaint replicates MS Paint's core functions while adding modern features like vertical text editing and font customization. Unlike Paint, it offers cross-platform desktop access and open-source development. However, it lacks advanced tools like layers or vector graphics support, making it better suited for basic tasks rather than complex design work.

What should I do if the font dropdown isn't working?

Check if your browser is blocking popups, as the font dropdown may fail to open in some environments. For desktop users, ensure the AppImage build is properly configured. If using Chrome, try disabling extensions that might interfere with the dropdown functionality. Updating to the latest version may resolve browser-specific compatibility issues.

Spotted something wrong with JSPaint, or want to maintain it? See how to help.