string.is
Miscellaneous
About this project
string-is
string.is is an open-source, privacy-friendly toolkit for developers. You can see it in action here.

string.is is an opinionated conversion tool, with the following goals:
- It should be open-source.
- It should not set any cookies.
- It should have a strict Content Security Policy.
- It should be extremely opinionated about dependancies, and only use well-known, well-supported libraries.
- It should try to detect the format of the input, and intelligently choose output options.
Install dependencies:
yarn install
Set up git hooks:
yarn husky install
Run the development server:
yarn dev
... and then open http://localhost:3000 in your browser.
To run all linting checks, type checks, tests, and build for production:
yarn all
Running with Docker
Build the docker image:
yarn docker-build
or
docker build -t string-is .
... and then run it:
yarn docker-run
or
docker run -p 3000:3000 string-is
Alternatively you can build and run it with docker-compose:
docker-compose up
... or even run it directly from Docker Hub:
docker run -p 3000:3000 daveperrett/string-is:latest
Currently linux/arm64 and linux/amd64 platforms are supported.
Adding a new converter
The src/lib folder contains most of the conversion logic, and is pure TypeScript, with no React knowledge required.
src/lib/identitiescontains identifiers that take an input string and return the confidence level that the input is in a particular format. For example,JwtIdentifierreturns a number indicating the confidence level (between 0 and 100) that a given input string is a JWT token.src/lib/inputscontains parsers that load strings from different formats. For example, theJsonInputparses a JSON string and returns an object.src/lib/outputstakes parsed data and formats it into a specific output format. For example,JavaScriptOutputtakes a JavaScript string, formats it according to the formatting options provided, and returns the result.src/lib/convertersare input → output pairs - the glue that performs a conversion between formats. For example,CsvToJsonConvertertakes a CSV
Technologies & License
AGPL-3.0
Node.js
Quick Deploy
Deploy this project to cloud platforms with one click