Command Palette

Search for a command to run...

Welcome to VnnTools!

Simple and free online tools for your daily tasks. Start using now, no registration required!

13

Tool Categories

154+

Free Tools

14

Series

313+

Blog Posts

Image Tools

Transform, edit, and convert images with these powerful tools

AI Background Remover

Remove image backgrounds automatically using AI - free, private, and runs entirely in your browser.

Base64 to Image Converter

Convert Base64 encoded strings back to images with a simple tool

Batch Resize Images

Resize multiple images at once. Upload multiple images and resize them all with the same settings.

Blur Image

Apply blur effect to images online for free. Add Gaussian blur to create artistic effects or privacy protection with professional quality.

Image Brightness Adjustment Tool

Professional image brightness adjustment tool with real-time preview, batch processing, and precise brightness control

Change Image Contrast

Adjust image contrast online for free. Increase or decrease contrast to enhance your photos with professional quality results.

Crop Image

Crop, rotate, flip and resize images online for free with pixel-perfect precision — 100% private in your browser.

Image Darkening Tool

Professional image darkening tool with real-time preview, batch processing, and precise darkness control

Extract Colors From Image

Analyze and extract an accurate color palette from any image — supports HEX, RGB, HSL, an eyedropper picker, clipboard paste, and CSS/JSON/PNG export. Completely free, private, and runs right in your browser.

Favicon Generator

Create favicons for your website from any image. Customize shape, background and padding, then download a ready-to-use ZIP with a real .ico, PWA manifest and HTML code.

Grayscale Image Converter

Convert color images to grayscale online with a live preview, adjustable intensity, and batch processing. Free and 100% private.

Image Color Picker

Pick colors from any image with your mouse cursor

Image Compression Tool

Smart WebP, PNG, and JPEG compression tool, significantly reducing image file sizes without compromising quality

Image EXIF Viewer & Remover

View and remove hidden metadata (EXIF) from your images. Protect your privacy before sharing photos online.

Image to Base64 Converter

Convert your images to Base64 string format with a simple tool

Image to Text (OCR)

Extract text from images instantly using AI-powered OCR technology. Supports 100+ languages, runs in your browser.

Image Lightening Tool

Professional image lightening tool with real-time preview, batch processing, and precise lightness control

Photo Censor

Blur, pixelate, mosaic, or black out sensitive areas in your photos. Free, private, and processed entirely in your browser.

Resize Image

Easily resize your images to any dimension with precision

Rotate Image

Rotate, flip and download images right in your browser — precise, private and free

Round Corners Image

Round image corners online for free with instant live preview. Create modern images with smooth rounded corners, export transparent PNGs, and batch process — 100% private in your browser.

Image Watermark Tool

Add text or image watermarks to your photos easily

Image Converter

Convert images between different formats

Developer Tools

Helpful utilities for web developers and programmers

Barcode Generator

Generate barcodes in multiple formats — Code128, EAN-13, UPC, QR, and more. Download as PNG or SVG.

Base64 Text Encoder/Decoder

Quickly encode plain text to Base64 format or decode it back.

Bcrypt Generator & Verifier

Generate Bcrypt password hashes and verify them securely — all in your browser.

CHMOD Calculator

Calculate Linux file permissions using checkboxes and instantly get the octal CHMOD value.

Code to Image Converter

Create beautiful images from your code with customizable themes and modern styling options.

Cron Job Generator & Parser

Visually create cron schedules and translate cryptic cron expressions into human-readable text.

CSS Background Pattern Generator - Create Beautiful Patterns

Generate beautiful CSS background patterns with live preview. Create dots, stripes, grids, waves, and more with customizable colors and sizes.

CSS Box Shadow Generator

Create beautiful CSS box shadows with real-time preview. Generate custom shadow effects with multiple layers, colors, and directions for stunning visual depth.

CSS Clip-Path Generator

Create and customize CSS clip-path shapes with a visual editor. Generate modern clipping paths for unique design effects.

CSS Flexbox Generator

Visually build CSS Flexbox layouts and copy the generated code instantly

CSS Glassmorphism Generator

Create stunning glassmorphism effects with real-time preview. Generate modern frosted glass UI components with customizable blur, opacity, and styling.

CSS Gradient Generator

Create beautiful CSS gradients with real-time preview. Generate modern gradient effects with multiple colors and directions for stunning visual effects.

CSS Loader Generator

Create beautiful CSS loading animations with customizable styles, colors, and sizes for your web projects.

Data Format Converter

Instantly convert between JSON, YAML, and XML formats.

Extract Text from HTML

Extract clean text content from HTML code instantly. Remove all HTML tags and get readable plain text.

Fake Data Generator

Generate random fake data for testing and development. Create realistic users, addresses, companies, and more.

HTML to Markdown Converter

Convert HTML to clean, readable Markdown with this powerful converter. Perfect for content migration and documentation.

JavaScript Formatter

Format and beautify your JavaScript code with customizable options to make it more readable and consistent.

JavaScript Minifier

Minify your JavaScript code by removing unnecessary characters, whitespace, and comments to reduce file size and improve performance.

JSON to TypeScript Interface

Instantly convert JSON data into TypeScript interface definitions.

JWT Decoder

Decode JSON Web Tokens (JWT) to view the Header and Payload.

Markdown to HTML Converter

Convert your Markdown content into clean HTML with live preview. Fast and efficient Markdown to HTML conversion.

HTML Minifier

Compress your HTML code by removing unnecessary characters to reduce file size and improve performance.

What Is My IP Address?

Find your public IP address, location, ISP, and other network information instantly.

Placeholder Image Generator

Generate placeholder images with custom size, background color, text and format instantly.

HTML Prettifier

Make your HTML code beautifully formatted and readable with customizable indentation. Clean up minified HTML instantly.

Regex Tester

Test, debug, and build regular expressions in real-time with live match highlighting.

Robots.txt Generator

Generate a robots.txt file for your website with a simple visual editor. Control search engine crawling.

SQL Formatter & Beautifier

Format and beautify raw SQL queries for maximum readability.

SVG Optimizer

Reduce SVG file size by removing redundant metadata, comments, and unnecessary attributes.

Text Hash Generator

Generate SHA-1, SHA-256, SHA-384, and SHA-512 cryptographic hashes from any text.

URL Encoder/Decoder

Encode or decode strings using an URL-safe format.

UTM Link Builder

Build UTM tracking links for your marketing campaigns instantly. Google Analytics compatible.

UUID / GUID Generator

Generate completely random v4 UUIDs (Universally Unique Identifiers) instantly.

Latest Blog Posts

View All
[Advanced Spring Boot] Your Own Authorization Server: Spring Authorization Server and Keycloak

Building an OAuth2 and OpenID Connect authorization server with Spring Authorization Server, now a module of Spring Security, on Spring Boot 4.1.1: the starter Initializr picks and the deprecated one, a server from properties alone, both discovery documents and the endpoints they advertise, the two filter chains Boot registers and what changes when you declare your own, client_credentials and authorization_code with PKCE hop by hop, the real error bodies, the RSA key that changes on every restart, a persistent key and key rotation with a JWK selector, the JWKS cache of the resource server, JDBC clients, authorizations and consent on PostgreSQL with the schema scripts from the jar, a roles claim from OAuth2TokenCustomizer and the Jackson allowlist trap, opaque tokens with introspection measured against JWT validation, and a measured comparison with Keycloak.

[Advanced Spring Boot] OAuth2 and OpenID Connect in Spring Boot: OAuth2 Login and a JWT Resource Server

OAuth2 and OpenID Connect with Spring Security on Spring Boot 4.1.1 and Keycloak: a realm imported from JSON, issuer-uri discovery and the startup failure when Keycloak is down, the authorization code flow with PKCE (S256, on by default for a confidential client) hop by hop, a stolen code rejected without its verifier, the ID token and the access token decoded side by side, the OidcUser with its OIDC_USER and SCOPE_ authorities, user-name-attribute, Keycloak realm roles mapped to ROLE_ with a GrantedAuthoritiesMapper, RP-initiated logout with OidcClientInitiatedLogoutSuccessHandler, Google and GitHub through CommonOAuth2Provider, a JWT resource server with issuer-uri and lazily fetched keys, the WWW-Authenticate headers for foreign-realm, wrong-issuer, tampered, wrong-audience and expired tokens, realm_access.roles mapped with authorities-claim-expressions, token relay with OAuth2ClientHttpRequestInterceptor and a client-credentials token reused across calls.

[Advanced Spring Boot] Multi-Tenancy and Soft Delete with Spring Boot and Hibernate

Multi-tenancy and soft delete on Spring Boot 4.1.1 with Hibernate and PostgreSQL: an X-Tenant-Id filter with a ThreadLocal that leaks on a reused Tomcat thread and is lost on @Async, a discriminator column with @TenantId and CurrentTenantIdentifierResolver (the tenant predicate on find, JPQL, derived queries, Specifications and bulk updates, none on native SQL or JdbcClient), schema per tenant with a MultiTenantConnectionProvider, the setSchema versus SET search_path connection-reuse trap on HikariCP, Flyway per tenant schema and Hibernate's TenantSchemaMapper, database per tenant and 100 connections for ten tenants, PostgreSQL row-level security with set_config and FORCE, @SoftDelete strategies versus @SQLDelete and @SQLRestriction, the LAZY to-one error, a partial unique index for soft-deleted SKUs, and restoring deleted rows.

[Advanced Spring Boot] NoSQL with Spring Data: MongoDB and Redis

Spring Data MongoDB and Spring Data Redis on Spring Boot 4.1.1: @Document, String vs ObjectId ids, the _class field, embedded vs @DocumentReference with the queries each sends, MongoRepository and MongoTemplate with the logged commands, $push/$inc vs load-modify-save under 50 threads, @Version, whether Boot creates @Indexed indexes, COLLSCAN vs IXSCAN on 300,000 documents, an aggregation pipeline, transactions on a replica set, a renamed field, RedisTemplate serialization, INCR, sorted sets, hashes, TTL, @RedisHash keys and phantom keys, pipelining and Lettuce.

[Advanced Spring Boot] Multiple Datasources in Spring Boot: Two Databases and Read/Write Replica Routing

Multiple datasources in Spring Boot 4.1.1 with PostgreSQL: what Boot backs off from once you declare two DataSource beans, DataSourceProperties and the HikariCP prefix trap, two EntityManagerFactories with EntityManagerFactoryBuilder, @EnableJpaRepositories and @Transactional(transactionManager), a repository under the wrong transaction manager, Flyway for the second database, why a write to two databases is not atomic, a streaming replica in Docker, AbstractRoutingDataSource and the read-only flag bug, LazyConnectionDataSourceProxy and its built-in read-only DataSource, SQLSTATE 25006, replication lag and read-your-writes fixes, and one HikariCP pool per target.

[Advanced Spring Boot] Caching in Spring Boot: the Cache Abstraction, Caffeine, Redis and Invalidation

Spring Boot 4.1.1 caching on a product lookup with PostgreSQL and Redis: why @EnableCaching is still required, @Cacheable, @CachePut, @CacheEvict with allEntries and @Caching, SimpleKey and SpEL keys, condition, unless and cached Optional nulls, the LazyInitializationException a cached entity causes, Caffeine eviction and the cache.gets metrics, why Boot picks Redis over Caffeine, JDK serialization versus GenericJacksonJsonRedisSerializer for Jackson 3 and the type validator that rejects BigDecimal, the two serializer configurations that silently drop settings, latency with no cache, Caffeine and Redis, a cache stampede that sync = true does not stop on Redis, the evict-before-commit race and transactionAware(), stale reads across two instances, and what a stopped or hung Redis does to requests with and without a CacheErrorHandler.