Guides
What each tool does, how to use it, and which API endpoints sit behind it. Select a tool to expand its guide.
Link shortener
Takes a long web address and returns a short one. Opening the short link redirects to the original address. Links are stored for the server's retention period and then removed.
When it helps
- Sharing a link in a chat or email where a long URL looks messy.
- Putting a link on a slide or printed page that people will type by hand.
- Generating a compact address to feed into the QR code generator.
How to use it
- Open Link shortener from the home page.
- Paste a full URL starting with
http://orhttps://. - Select Shorten link, then copy the result.
Good to know
- There are no custom aliases, passwords or click statistics.
- Only http and https addresses are accepted.
API
| Request | Purpose |
|---|---|
POST short.net-tools.ch/api/v1/links | Body {"url": "…"}, returns {"shortUrl": "…"}. |
GET short.net-tools.ch/api/v1/links/{code} | Returns the target URL and creation time without redirecting. |
File upload
Upload one or more files and receive one short link that lists and serves them. You choose how long they stay available, from five minutes up to seven days; afterwards they are deleted.
When it helps
- Sending something too large for email.
- Moving a few files between your own devices.
- Sharing a build or a log with a colleague for a day.
How to use it
- Open File upload.
- Choose or drop one or more files.
- Pick the retention time, then select Upload.
- Copy the link and send it on.
Good to know
- Anyone with the link can download the files, so treat it like a password.
- For anything sensitive, encrypt the file yourself before uploading.
API
| Request | Purpose |
|---|---|
POST upload.net-tools.ch/api/v1/uploads | Multipart form with files (repeatable) and retentionTime in minutes. Returns {"shortUrl": "…"}. |
GET upload.net-tools.ch/api/v1/uploads/{code} | File names, creation time and retention for an upload. |
File compressor
Re-encodes images, video, PDFs and documents to a smaller size and returns the result as a download. Files are deleted as soon as you have downloaded the result, or after 24 hours at the latest. Progress is streamed while it works, and you can cancel at any time.
When it helps
- Getting a photo under an upload size limit.
- Reducing a PDF before emailing it.
- Shrinking a screen recording.
How to use it
- Open File compressor; the size limit is shown under the drop area.
- Choose a file and select Compress.
- Wait for the progress bar; the compressed file downloads automatically.
Good to know
- Compression of images, video and PDFs is usually lossy. Keep your original.
- The result may occasionally be no smaller than the input, for example for files that are already compressed.
API
| Request | Purpose |
|---|---|
POST compress.net-tools.ch/api/v1/compressions?id={id} | Multipart file; responds with the compressed file. |
GET compress.net-tools.ch/api/v1/compressions/{id}/progress | Server-sent events with status and progress. |
DELETE compress.net-tools.ch/api/v1/compressions/{id} | Cancels a running job. |
GET compress.net-tools.ch/api/v1/config | Maximum file size and retention. |
Hash calculator
Computes a checksum of a file. A checksum is a short fingerprint: if even one byte of the file changes, the fingerprint changes completely. Publishers often list one next to a download so you can confirm the file arrived intact.
When it helps
- Verifying an ISO or installer against the published checksum.
- Checking that two copies of a file are identical.
How to use it
- Open Hash calculator.
- Choose a file and an algorithm, then select Calculate hash.
- Optionally paste the published checksum into the comparison box to see whether they match.
Good to know
- Supported: SHA-256, SHA-512, SHA-1, MD5, BLAKE2 and Whirlpool.
- Prefer SHA-256 or SHA-512. MD5 and SHA-1 are fine for catching accidental corruption but not for security.
API
| Request | Purpose |
|---|---|
POST hashsum.net-tools.ch/api/v1/calculate-hash | Multipart file and hashAlgo; returns {"hash": "…"}. |
QR code generator
Encodes text or a URL as a QR code image. Higher error-correction levels let a code survive more damage or a logo overlay, at the cost of a denser pattern.
When it helps
- Linking a poster or flyer to a web page.
- Sharing a Wi-Fi string or a block of text with a phone.
How to use it
- Open QR code generator.
- Enter the content, choose a size and an error-correction level.
- Generate the code, check it with your phone, and download the PNG.
Good to know
- Shorter content makes a simpler, easier-to-scan code.
- Always scan a printed code before distributing it.
API
| Request | Purpose |
|---|---|
POST qr-gen.net-tools.ch/api/v1/generate-qr | JSON {"data","size","level"}; level is low, medium, high or highest. Returns a PNG. |
OCR PDF
Files are deleted as soon as you have downloaded the result, or after 24 hours at the latest. Optical character recognition reads the text out of page images. This tool adds an invisible text layer to a scanned PDF so it looks the same but can be searched and copied.
When it helps
- Searching inside scanned contracts or letters.
- Copying a paragraph out of a photographed page.
How to use it
- Open OCR PDF.
- Choose a PDF and select Make searchable.
- Follow the progress bar; the new PDF downloads when finished.
Good to know
- Recognition quality depends on scan quality. Straight, 300 dpi, high-contrast pages work best.
- Large documents can take a few minutes.
API
| Request | Purpose |
|---|---|
POST ocrpdf.net-tools.ch/api/v1/convert/{id} | Multipart file; returns a download path. |
GET ocrpdf.net-tools.ch/api/v1/progress/{id} | Server-sent progress events. |
POST ocrpdf.net-tools.ch/api/v1/cancel/{id} | Cancels a conversion. |
GET ocrpdf.net-tools.ch/api/v1/download/{filename} | Fetches the converted PDF. |
JS translator
Takes a JavaScript or JSON locale file, translates every string value with DeepL, and gives you one file per target language with the same keys and structure. Keys, numbers and non-text values are left alone. It needs your own DeepL API key (the free tier works); the key stays in this browser tab and is sent only with your requests.
When it helps
- Adding languages to a website or app that keeps its text in a locale file.
- Producing a first draft of many languages at once.
How to use it
- Get a free key at deepl.com and paste it into the tool.
- Drop in a
.js,.mjsor.jsonfile containing a plain object, for exampleexport default { nav: { home: "Home" } }. - Choose the source language (or leave it on detect) and tick the languages to produce.
- Select Translate file and download each result.
Good to know
- The file must contain plain data. Functions, variables and template placeholders such as
${name}are not supported. - Machine translation is a good first draft; have a fluent speaker review anything user-facing.
- Usage counts against your own DeepL quota. Placeholders like
{{name}}may be altered, so check them.
API
| Request | Purpose |
|---|---|
POST js-translator.net-tools.ch/api/v1/translate | JSON {"text","source_lang","target_lang"} plus an Authorization: DeepL-Auth-Key … header. |
POST js-translator.net-tools.ch/api/v1/usage | Remaining DeepL quota for the key. |
GET js-translator.net-tools.ch/api/v1/languages | Supported languages. |