{"version":"0.1.0","tools":[{"id":"emi","path":"/finance/emi-calculator","name":"EMI calculator","category":"Finance","description":"Build monthly schedules for flat or reducing interest, fixed or floating rates, EMI, equal-principal and balloon repayments.","keywords":["loan","emi","home loan","interest","flat rate","floating rate","reducing balance","equal principal","balloon loan","amortization"],"inputs":["principal","annualRate","months","interestMethod","rateType","repayment","dayCount","startDate","rateChanges"],"execution":"local","price":"free"},{"id":"prepayment","path":"/finance/loan-prepayment-calculator","name":"Loan prepayment planner","category":"Finance","description":"Compare extra payments across flat, reducing and floating loan scenarios, including fees, rebate rules and payoff dates.","keywords":["prepay","part payment","foreclose","loan payoff"],"inputs":["principal","annualRate","months","extraMonthly","lumpSum","lumpMonth","interestMethod","rateType","rateChanges"],"execution":"local","price":"free"},{"id":"sip","path":"/finance/sip-calculator","name":"SIP calculator","category":"Finance","description":"Project monthly investments with monthly compounding and optional annual step up.","keywords":["sip","systematic investment","mutual fund"],"inputs":["monthly","annualRate","months"],"execution":"local","price":"free"},{"id":"swp","path":"/finance/swp-calculator","name":"SWP calculator","category":"Finance","description":"Model monthly withdrawals, remaining balance, and depletion.","keywords":["swp","withdrawal","retirement income"],"inputs":["initial","withdrawal","annualRate","months"],"execution":"local","price":"free"},{"id":"image","path":"/images/convert","name":"Image converter","category":"Images","description":"Convert JPG/JPEG, PNG and WebP images, resize, compress, and remove metadata in your browser.","keywords":["jpg","jpeg","png","webp","convert image","compress image","resize image","metadata","upscale"],"inputs":["image/*"],"execution":"local","price":"free"},{"id":"upscale","path":"/images/upscaler","name":"Free image upscaler","category":"Images","description":"Enlarge images 2× or 4× in your browser with high-quality interpolation.","keywords":["upscale","upscaler","enlarge image","2x","4x"],"inputs":["image/*"],"execution":"local","price":"free"},{"id":"pdf","path":"/documents/pdf-editor","name":"PDF editor","category":"Documents","description":"Merge, split, reorder, rotate, delete pages, and export PDFs in your browser.","keywords":["pdf","merge pdf","split pdf","rotate pdf","edit pdf","delete pages"],"inputs":["application/pdf"],"execution":"local","price":"free"},{"id":"json","path":"/developer/json-formatter","name":"JSON formatter","category":"Developer","description":"Validate and format JSON locally.","keywords":["json","format json","validate json"],"inputs":["text"],"execution":"local","price":"free"},{"id":"base64","path":"/developer/base64","name":"Base64 converter","category":"Developer","description":"Encode or decode UTF-8 text with Base64 locally.","keywords":["base64","base64 encode","base64 decode"],"inputs":["text"],"execution":"local","price":"free"},{"id":"resize","name":"Image resizer","path":"/images/resize-image","description":"Change image width while preserving its aspect ratio.","keywords":["resize","dimensions","image size"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"compress","name":"Image compressor","path":"/images/compress-image","description":"Choose JPG/JPEG or WebP output quality and compare downloaded file sizes.","keywords":["compress image","reduce photo size","smaller image"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"metadata","name":"Image metadata remover","path":"/images/remove-metadata","description":"Re-encode photo pixels to remove ordinary EXIF, GPS and camera metadata.","keywords":["remove metadata","strip exif","remove gps","privacy photo"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"rotate","name":"Image rotator","path":"/images/rotate-image","description":"Rotate a photo 90, 180 or 270 degrees without uploading it.","keywords":["rotate image","rotate photo","turn photo"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"crop","name":"Image cropper","path":"/images/crop-image","description":"Crop a rectangular region with a percentage-based preview.","keywords":["crop image","crop photo","cut image"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"filters","name":"Image filters","path":"/images/image-filters","description":"Apply photo filter presets and adjust brightness, contrast and saturation locally. Preview and download JPG/JPEG, PNG or WebP results.","keywords":["image filters","image filtering","filter image","filter a photo","photo filters","photo effects","sepia","vintage","brightness","contrast","saturation"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"grayscale","name":"Image to grayscale","path":"/images/grayscale","description":"Convert photos into grayscale in your browser.","keywords":["grayscale","black and white","greyscale"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"gemini","name":"Free Gemini watermark remover","path":"/images/gemini-watermark-remover","description":"Remove the standard visible Gemini sparkle from original images using reverse alpha blending.","keywords":["gemini watermark","nano banana","gemini logo"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"watermark","name":"Free watermark cleanup","path":"/images/watermark-remover","description":"Replace a visible watermark area with a matching nearby patch, with feathered edges.","keywords":["watermark remover","remove watermark","logo cleanup","remove logo"],"category":"Images","inputs":["image/*"],"execution":"local","price":"free"},{"id":"pdf-jpg","name":"PDF to JPG / JPEG","path":"/documents/pdf-to-jpg","description":"Render every PDF page as a JPG/JPEG image and download the results as a ZIP.","keywords":["pdf to jpg","pdf to image","pdf to jpeg"],"category":"Documents","inputs":["application/pdf"],"execution":"local","price":"free"},{"id":"pdf-text","name":"Extract PDF text","path":"/documents/extract-pdf-text","description":"Extract a PDF’s existing text layer into a downloadable text file.","keywords":["pdf text","extract text","pdf to text"],"category":"Documents","inputs":["application/pdf"],"execution":"local","price":"free"},{"id":"image-pdf","name":"Images to PDF","path":"/documents/images-to-pdf","description":"Arrange images into one A4 PDF, one photo per page.","keywords":["images to pdf","jpg to pdf","jpeg to pdf","png to pdf","photos to pdf"],"category":"Documents","inputs":["image/*"],"execution":"local","price":"free"},{"id":"qr","path":"/developer/qr-code-generator","name":"QR code generator","description":"Create a downloadable QR code from text or a URL, locally.","category":"Developer","keywords":["qr code","qr generator","qr"],"inputs":["text"],"execution":"local","price":"free"},{"id":"percentage","name":"Percentage calculator","category":"Math","path":"/math/percentage-calculator","description":"Find a percentage, percentage change, or the percentage one value represents of another.","fields":[{"key":"value","label":"Value","value":200,"type":"number","min":0},{"key":"percent","label":"Percentage (%)","value":15,"type":"number","min":0}],"keywords":["percentage","percentage calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["value","percent"]},{"id":"percentage-change","name":"Percentage change","category":"Math","path":"/math/percentage-change","description":"Compare the absolute and percentage change between two values.","fields":[{"key":"from","label":"Original value","value":100,"type":"number","min":0},{"key":"to","label":"New value","value":125,"type":"number","min":0}],"keywords":["percentage change","percentage change"],"execution":"local","price":"free","version":"1.0.0","inputs":["from","to"]},{"id":"compound","name":"Compound interest calculator","category":"Finance","path":"/finance/compound-interest-calculator","description":"Calculate compound growth with an explicit compounding frequency.","fields":[{"key":"principal","label":"Initial amount (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Annual nominal interest (%)","value":8,"type":"number","min":0},{"key":"years","label":"Years","value":10,"type":"number","min":0},{"key":"frequency","label":"Compounds per year","value":"12","type":"select","options":[["1","Annually"],["4","Quarterly"],["12","Monthly"],["365","Daily"]]}],"keywords":["compound","compound interest calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["principal","rate","years","frequency"]},{"id":"lumpsum","name":"Lumpsum investment calculator","category":"Finance","path":"/finance/lumpsum-calculator","description":"Project an investment using an effective annual return.","fields":[{"key":"principal","label":"Investment (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Annual return (%)","value":12,"type":"number","min":0},{"key":"years","label":"Years","value":10,"type":"number","min":0}],"keywords":["lumpsum","lumpsum investment calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["principal","rate","years"]},{"id":"simple-interest","name":"Simple interest calculator","category":"Finance","path":"/finance/simple-interest-calculator","description":"Calculate simple interest and maturity value.","fields":[{"key":"principal","label":"Principal (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Annual interest (%)","value":7,"type":"number","min":0},{"key":"years","label":"Years","value":3,"type":"number","min":0}],"keywords":["simple interest","simple interest calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["principal","rate","years"]},{"id":"cagr","name":"CAGR calculator","category":"Finance","path":"/finance/cagr-calculator","description":"Find the annualized growth rate between a positive starting and ending value.","fields":[{"key":"start","label":"Starting value","value":100000,"type":"number","min":0.01},{"key":"end","label":"Ending value","value":200000,"type":"number","min":0},{"key":"years","label":"Years","value":5,"type":"number","min":0.01}],"keywords":["cagr","cagr calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["start","end","years"]},{"id":"roi","name":"ROI calculator","category":"Finance","path":"/finance/roi-calculator","description":"Measure return on investment including additional costs.","fields":[{"key":"cost","label":"Initial cost","value":100000,"type":"number","min":0.01},{"key":"fees","label":"Additional costs","value":1000,"type":"number","min":0},{"key":"returns","label":"Final proceeds","value":125000,"type":"number","min":0}],"keywords":["roi","roi calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["cost","fees","returns"]},{"id":"inflation","name":"Inflation calculator","category":"Finance","path":"/finance/inflation-calculator","description":"Estimate future cost and purchasing power at an assumed annual inflation rate.","fields":[{"key":"amount","label":"Amount (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Annual inflation (%)","value":6,"type":"number","min":0},{"key":"years","label":"Years","value":10,"type":"number","min":0}],"keywords":["inflation","inflation calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["amount","rate","years"]},{"id":"savings-goal","name":"Savings goal calculator","category":"Finance","path":"/finance/savings-goal-calculator","description":"Calculate end-of-month contributions needed for a future target.","fields":[{"key":"target","label":"Target (₹)","value":1000000,"type":"number","min":0},{"key":"initial","label":"Already invested (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Assumed annual return (%)","value":8,"type":"number","min":0},{"key":"months","label":"Months","value":60,"type":"number","min":1}],"keywords":["savings goal","savings goal calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["target","initial","rate","months"]},{"id":"fd","name":"Fixed deposit calculator","category":"Finance","path":"/finance/fd-calculator","description":"Estimate a cumulative fixed deposit using quarterly compounding.","fields":[{"key":"principal","label":"Deposit (₹)","value":100000,"type":"number","min":0},{"key":"rate","label":"Annual nominal interest (%)","value":7,"type":"number","min":0},{"key":"months","label":"Months","value":36,"type":"number","min":1}],"keywords":["fd","fixed deposit calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["principal","rate","months"]},{"id":"unit","name":"Unit converter","category":"Converters","path":"/converters/unit-converter","description":"Convert length, weight, area, volume, speed, and temperature units.","fields":[{"key":"value","label":"Value","value":1,"type":"number","min":-1000000000000000},{"key":"from","label":"From","value":"km","type":"select","options":[["km","Kilometres"],["m","Metres"],["cm","Centimetres"],["mm","Millimetres"],["mi","Miles"],["ft","Feet"],["in","Inches"],["kg","Kilograms"],["g","Grams"],["lb","Pounds"],["oz","Ounces"],["m2","Square metres"],["ft2","Square feet"],["acre","Acres"],["ha","Hectares"],["l","Litres"],["ml","Millilitres"],["usgal","US gallons"],["kmh","km/h"],["mph","mph"],["ms","m/s"],["c","Celsius"],["f","Fahrenheit"],["k","Kelvin"]]},{"key":"to","label":"To","value":"m","type":"select","options":[["km","Kilometres"],["m","Metres"],["cm","Centimetres"],["mm","Millimetres"],["mi","Miles"],["ft","Feet"],["in","Inches"],["kg","Kilograms"],["g","Grams"],["lb","Pounds"],["oz","Ounces"],["m2","Square metres"],["ft2","Square feet"],["acre","Acres"],["ha","Hectares"],["l","Litres"],["ml","Millilitres"],["usgal","US gallons"],["kmh","km/h"],["mph","mph"],["ms","m/s"],["c","Celsius"],["f","Fahrenheit"],["k","Kelvin"]]}],"keywords":["unit","unit converter"],"execution":"local","price":"free","version":"1.0.0","inputs":["value","from","to"]},{"id":"fuel","name":"Fuel cost calculator","category":"Math","path":"/math/fuel-cost-calculator","description":"Estimate trip fuel and cost from distance, mileage, and fuel price.","fields":[{"key":"distance","label":"Distance (km)","value":500,"type":"number","min":0},{"key":"mileage","label":"Mileage (km/litre)","value":15,"type":"number","min":0.01},{"key":"price","label":"Price per litre (₹)","value":105,"type":"number","min":0}],"keywords":["fuel","fuel cost calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["distance","mileage","price"]},{"id":"electricity","name":"Electricity cost calculator","category":"Math","path":"/math/electricity-cost-calculator","description":"Estimate appliance energy use and cost with a flat unit tariff.","fields":[{"key":"watts","label":"Power (watts)","value":1000,"type":"number","min":0},{"key":"hours","label":"Hours per day","value":4,"type":"number","min":0},{"key":"days","label":"Days","value":30,"type":"number","min":0},{"key":"tariff","label":"Tariff per kWh (₹)","value":8,"type":"number","min":0}],"keywords":["electricity","electricity cost calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["watts","hours","days","tariff"]},{"id":"date-difference","name":"Date difference calculator","category":"Dates","path":"/dates/date-difference","description":"Find the number of calendar days between two dates.","fields":[{"key":"from","label":"Start date","type":"date","value":"2026-01-01"},{"key":"to","label":"End date","type":"date","value":"2026-12-31"}],"keywords":["date difference","date difference calculator"],"execution":"local","price":"free","version":"1.0.0","inputs":["from","to"]},{"id":"unix","name":"Unix timestamp converter","category":"Developer","path":"/developer/unix-timestamp-converter","description":"Convert Unix seconds or milliseconds into an ISO UTC timestamp.","fields":[{"key":"timestamp","label":"Timestamp","value":1793442600,"type":"number","min":-8640000000000000},{"key":"unit","label":"Input unit","value":"seconds","type":"select","options":[["seconds","Seconds"],["milliseconds","Milliseconds"]]}],"keywords":["unix","unix timestamp converter"],"execution":"local","price":"free","version":"1.0.0","inputs":["timestamp","unit"]},{"id":"url","name":"URL encoder and decoder","category":"Developer","path":"/developer/url-encoder-decoder","description":"Encode or decode a URL component using percent encoding.","fields":[{"key":"input","label":"Text","value":"hello world","type":"textarea"},{"key":"mode","label":"Operation","value":"encode","type":"select","options":[["encode","Encode component"],["decode","Decode component"]]}],"keywords":["url","url encoder and decoder"],"execution":"local","price":"free","version":"1.0.0","inputs":["input","mode"]},{"id":"json-minify","name":"JSON minifier","category":"Developer","path":"/developer/json-minifier","description":"Validate and compact JSON by removing formatting whitespace.","fields":[{"key":"input","label":"JSON","value":"{\n  \"hello\": \"Grasany\"\n}","type":"textarea"}],"keywords":["json minify","json minifier"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"csv-json","name":"CSV to JSON","category":"Developer","path":"/developer/csv-to-json","description":"Parse quoted CSV with a header row into a JSON array.","fields":[{"key":"input","label":"CSV","value":"name,value\nGrasany,1\n\"Hello, world\",2","type":"textarea"}],"keywords":["csv json","csv to json"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"json-csv","name":"JSON to CSV","category":"Developer","path":"/developer/json-to-csv","description":"Convert a JSON array of flat objects into quoted CSV.","fields":[{"key":"input","label":"JSON array","value":"[{\"name\":\"Grasany\",\"value\":1}]","type":"textarea"}],"keywords":["json csv","json to csv"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"jwt","name":"JWT inspector","category":"Developer","path":"/developer/jwt-decoder","description":"Inspect the header and payload of a JWT without verifying its signature.","fields":[{"key":"input","label":"JWT","value":"","type":"textarea"}],"keywords":["jwt","jwt inspector"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"uuid","name":"UUID generator","category":"Developer","path":"/developer/uuid-generator","description":"Generate cryptographically random UUID v4 identifiers.","fields":[{"key":"count","label":"How many","value":5,"type":"number","min":1}],"keywords":["uuid","uuid generator"],"execution":"local","price":"free","version":"1.0.0","inputs":["count"]},{"id":"password","name":"Password generator","category":"Privacy","path":"/privacy/password-generator","description":"Generate a password with cryptographically secure randomness.","fields":[{"key":"length","label":"Length","value":24,"type":"number","min":8},{"key":"alphabet","label":"Characters","value":"full","type":"select","options":[["full","Letters, numbers and symbols"],["alphanumeric","Letters and numbers"]]}],"keywords":["password","password generator"],"execution":"local","price":"free","version":"1.0.0","inputs":["length","alphabet"]},{"id":"sha256","name":"SHA-256 hash","category":"Developer","path":"/developer/sha256-generator","description":"Compute a SHA-256 digest of UTF-8 text.","fields":[{"key":"input","label":"Text","value":"Grasany","type":"textarea"}],"keywords":["sha256","sha-256 hash"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"text-count","name":"Word and character counter","category":"Text","path":"/text/word-counter","description":"Count Unicode characters, words, lines and UTF-8 bytes.","fields":[{"key":"input","label":"Text","value":"Hello from Grasany","type":"textarea"}],"keywords":["text count","word and character counter"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"text-case","name":"Text case converter","category":"Text","path":"/text/case-converter","description":"Convert text to uppercase, lowercase, title case or sentence case.","fields":[{"key":"input","label":"Text","value":"hello from grasany","type":"textarea"},{"key":"mode","label":"Case","value":"title","type":"select","options":[["upper","UPPERCASE"],["lower","lowercase"],["title","Title Case"],["sentence","Sentence case"]]}],"keywords":["text case","text case converter"],"execution":"local","price":"free","version":"1.0.0","inputs":["input","mode"]},{"id":"slug","name":"URL slug generator","category":"Text","path":"/text/slug-generator","description":"Turn text into a readable URL slug.","fields":[{"key":"input","label":"Text","value":"A useful tool for every day!","type":"textarea"}],"keywords":["slug","url slug generator"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"dedupe","name":"Remove duplicate lines","category":"Text","path":"/text/remove-duplicate-lines","description":"Remove duplicate text lines while preserving their first occurrence.","fields":[{"key":"input","label":"Lines","value":"apple\nbanana\napple","type":"textarea"}],"keywords":["dedupe","remove duplicate lines"],"execution":"local","price":"free","version":"1.0.0","inputs":["input"]},{"id":"sort-lines","name":"Sort text lines","category":"Text","path":"/text/sort-lines","description":"Sort text lines with numeric-aware natural ordering.","fields":[{"key":"input","label":"Lines","value":"item 10\nitem 2\nitem 1","type":"textarea"},{"key":"order","label":"Order","value":"asc","type":"select","options":[["asc","Ascending"],["desc","Descending"]]}],"keywords":["sort lines","sort text lines"],"execution":"local","price":"free","version":"1.0.0","inputs":["input","order"]},{"id":"color","name":"Color converter","category":"Design","path":"/design/color-converter","description":"Convert a six-digit HEX color into RGB and HSL.","fields":[{"key":"hex","label":"HEX color","value":"#15936f","type":"textarea"}],"keywords":["color","color converter"],"execution":"local","price":"free","version":"1.0.0","inputs":["hex"]}]}