dev-tools 5 min read

string.is - Privacy-First Online String Toolkit for Developers

An open-source, privacy-friendly online string toolkit with 50+ converters and formatters for developers. No cookies, strict CSP, and runs entirely in the browser.

By
Share: X in
string.is product thumbnail

TL;DR

TL;DR: string.is is an open-source, privacy-friendly online string toolkit with 50+ converters and formatters — JSON, YAML, Base64, JWT, TOML, and more — that runs entirely in the browser with no cookies and a strict Content Security Policy.

Source and Accuracy Notes

This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is string.is?

string.is is an opinionated, open-source online string conversion toolkit built for developers. It provides a browser-based interface for converting between 50+ formats — including JSON, YAML, TOML, XML, CSV, Base64, URL encoding, HTML entities, UUIDs, and JWT tokens — without sending any data to a server.

The project was shared on Hacker News as an open-source, privacy-friendly alternative to tools that track users or require account signups. The official description reads:

“An open-source, privacy-friendly online string toolkit for developers, providing a collection of 50 converters and formatters.”

Key Design Principles

From the README, string.is is explicitly designed around five goals:

  1. Open-source — all code is public on GitHub.
  2. No cookies — the site sets zero tracking cookies.
  3. Strict Content Security Policy (CSP) — guards against XSS and injection attacks.
  4. Opinionated dependencies — only well-known, well-supported libraries are used.
  5. Smart format detection — the tool tries to detect the input format automatically and chooses appropriate output options.

Setup Options

string.is runs entirely in the browser at string.is. No account or installation is required to use the web version.

Run Locally

git clone https://github.com/recurser/string-is.git
cd string-is
yarn install
yarn dev

Then open http://localhost:3000 in your browser.

Run the full lint, type-check, test, and production build suite:

yarn all

Run with Docker

docker run -p 3000:3000 daveperrett/string-is:latest

Or using Docker Compose:

docker-compose up

Supported platforms: linux/arm64 and linux/amd64.

Deployment

The README mentions deployment options but defers details to the documentation. The project is a Next.js application, deployable to any Node.js host or container platform.

How It Works

The conversion engine lives in src/lib/ and is pure TypeScript with no React dependency, meaning the core logic can be tested and reused independently of the UI.

The architecture is split into four layers:

  • Identifiers (src/lib/identities/) — detect the format of an input string and return a confidence score. For example, JwtIdentifier returns a number between 0 and 100 indicating how likely the input is a JWT token.
  • Inputs (src/lib/inputs/) — parse strings from a specific format, e.g., JsonInput parses a JSON string into a JavaScript object.
  • Outputs (src/lib/outputs/) — take parsed data and format it into the desired output, e.g., JavaScriptOutput for formatted JS strings.
  • Converters (src/lib/converters/) — pair an input and output to perform the actual conversion, e.g., CsvToJsonConverter.

Privacy Analysis

string.is is one of the few developer tools that makes privacy a first-class design constraint, not an afterthought. The strict CSP combined with zero cookies means there is no user tracking, no session persistence, and no third-party analytics. All conversion happens client-side in the browser.

The only network requests are for the page assets themselves. For teams working with sensitive data (JWTs, API keys, config snippets), this makes string.is a safer choice than tools that send payload data to a server for processing.

FAQ

Q: Is my data sent to a server when I convert something? A: No. All conversions run entirely in the browser using JavaScript. No data is transmitted to any server.

Q: Does it work offline? A: After the initial page load (when hosted at string.is), the Service Worker should cache the assets. For local development, once yarn dev is running, the tool works without internet.

Q: What format converters are available? A: Over 50, covering JSON, YAML, TOML, XML, CSV, Base64, URL encode/decode, HTML entities, UUID generation, JWT decode, and many more.

Q: Is the source code available? A: Yes. The project is fully open-source under the AGPL-3.0 license at github.com/recurser/string-is.

Q: How do I add a new converter? A: The README documents the full contributor workflow. You add identifiers, inputs, outputs, and converters in src/lib/, then export them from the appropriate index.ts files. A new React component is needed only if the output format is new.

Conclusion

string.is fills a specific niche: a zero-tracking, browser-based developer toolkit for format conversions. With 50+ converters, a clean architecture that separates the conversion engine from the UI, and a strong privacy posture, it is a credible open-source alternative to ad-supported online conversion tools.

For local use, Docker support makes it trivial to self-host or run behind a VPN for additional data isolation. The contributor documentation also makes it straightforward to extend with new format pairs.