{"$schema":"https://toolsly.tools/schemas/tool-manifest-v1.json","generated":"2026-05-20T20:47:38.027Z","discovery":{"catalog":"https://toolsly.tools/tools.json","llmsTxt":"https://toolsly.tools/llms.txt","sitemap":"https://toolsly.tools/sitemap.xml"},"relatedTools":[{"slug":"image-cropper","name":"Image Cropper","url":"https://toolsly.tools/image-cropper"},{"slug":"png-cropper","name":"PNG Cropper","url":"https://toolsly.tools/png-cropper"},{"slug":"image-to-grayscale","name":"Image to Grayscale","url":"https://toolsly.tools/image-to-grayscale"},{"slug":"image-to-bw","name":"Image to Black & White","url":"https://toolsly.tools/image-to-bw"},{"slug":"image-to-sepia","name":"Image to Sepia","url":"https://toolsly.tools/image-to-sepia"},{"slug":"image-invert-colors","name":"Invert Image Colors","url":"https://toolsly.tools/image-invert-colors"},{"slug":"image-blur","name":"Blur Image","url":"https://toolsly.tools/image-blur"},{"slug":"image-rotate","name":"Rotate Image","url":"https://toolsly.tools/image-rotate"}],"kind":"converter","slug":"image-text-overlay","name":"Add Text to Image (Meme Maker)","description":"Slap top + bottom caption text on any image — classic meme style, runs in your browser.","longDescription":"Add bold caption text to an image — the classic impact-on-top-and-bottom meme look, or anything else you can configure. Pick the font, size, color, stroke (outline) color and width, then enter a top caption, bottom caption, or both. Long captions wrap automatically by word. Output is a PNG so transparency and stroke edges stay crisp. Everything runs locally on canvas; the image never leaves your device.","category":"image","categoryName":"Image","keywords":["meme maker","meme generator","add text to image","image caption generator","image text overlay","photo caption tool","make a meme online","free meme generator","online meme maker","caption image online","add caption to picture","impact text on image","text on photo online"],"url":"https://toolsly.tools/image-text-overlay","runsOn":"client","multiple":false,"batch":false,"input":{"type":"file","extensions":[".png",".jpg",".jpeg",".webp",".bmp",".gif"],"mimeTypes":["image/png","image/jpeg","image/webp","image/bmp","image/gif"]},"output":{"type":"file","extension":".png","mimeType":"image/png"},"options":[{"type":"text","key":"topText","label":"Top text","defaultValue":"","placeholder":"(optional) text across the top"},{"type":"text","key":"bottomText","label":"Bottom text","defaultValue":"","placeholder":"(optional) text across the bottom"},{"type":"number","key":"fontSize","label":"Font size (px)","defaultValue":60,"min":12,"max":200,"step":2,"help":"Pixel height of the font. Bigger source images need bigger text."},{"type":"select","key":"fontColor","label":"Text color","defaultValue":"white","choices":[{"value":"white","label":"White"},{"value":"black","label":"Black"},{"value":"yellow","label":"Yellow"},{"value":"red","label":"Red"}]},{"type":"select","key":"strokeColor","label":"Outline color","defaultValue":"black","choices":[{"value":"black","label":"Black"},{"value":"white","label":"White"},{"value":"none","label":"None"}]},{"type":"number","key":"strokeWidth","label":"Outline width (px)","defaultValue":4,"min":0,"max":10,"step":1},{"type":"select","key":"fontFamily","label":"Font","defaultValue":"impact","choices":[{"value":"impact","label":"Impact (classic meme)"},{"value":"arial","label":"Arial"},{"value":"helvetica","label":"Helvetica"},{"value":"times","label":"Times New Roman"}]}],"invocation":{"webUi":"https://toolsly.tools/image-text-overlay","api":null,"notes":"Currently runs client-side in the user's browser. Drop a file on the UI at `webUi` and download the converted result. A remote MCP/REST API is planned."}}