Please bookmark this page to avoid losing your image tool!

Funny Image Contest Maker

(Free & Supports Bulk Upload)

Drag & drop your images here or

The result will appear here...
You can edit the below JavaScript code to customize the image tool.
function processImage(originalImg, topText = "КОНКУРС ПРИКОЛОВ", bottomText = "ОЦЕНИТЕ", fontSizeScale = 12, textColor = "#FFFFFF", strokeColor = "#000000") {
    // Create canvas
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    
    // Set canvas dimensions based on original image
    canvas.width = originalImg.width;
    canvas.height = originalImg.height;
    
    // Draw the original image onto the canvas
    ctx.drawImage(originalImg, 0, 0);
    
    // Calculate font size relative to image height (or width if it's a portrait image)
    const baseSize = Math.min(canvas.width, canvas.height);
    const fontSize = Math.floor(baseSize * (fontSizeScale / 100));
    
    // Configure text styles (Classic meme style)
    ctx.font = `bold ${fontSize}px Impact, "Arial Black", sans-serif`;
    ctx.textAlign = 'center';
    ctx.fillStyle = textColor;
    ctx.lineWidth = Math.max(2, fontSize / 12);
    ctx.strokeStyle = strokeColor;
    ctx.lineJoin = 'round';
    
    // Helper function to draw text with word wrapping
    function drawText(text, x, y, maxWidth, isBottom) {
        if (!text) return;
        
        // Convert to uppercase for the classic meme vibe
        const upperText = text.toUpperCase();
        const words = upperText.split(' ');
        let line = '';
        const lines = [];
        
        for (let n = 0; n < words.length; n++) {
            const testLine = line + words[n] + ' ';
            const metrics = ctx.measureText(testLine);
            const testWidth = metrics.width;
            
            if (testWidth > maxWidth && n > 0) {
                lines.push(line.trim());
                line = words[n] + ' ';
            } else {
                line = testLine;
            }
        }
        lines.push(line.trim());
        
        const lineHeight = fontSize * 1.1; // 1.1x spacing between lines
        let currentY = y;
        
        // Adjust starting Y position if drawing bottom text (so it draws upwards)
        if (isBottom) {
            currentY = y - (lines.length - 1) * lineHeight;
        }
        
        for (let i = 0; i < lines.length; i++) {
            ctx.strokeText(lines[i], x, currentY + (i * lineHeight));
            ctx.fillText(lines[i], x, currentY + (i * lineHeight));
        }
    }
    
    const maxWidth = canvas.width * 0.95; // Leave a 5% margin on width
    const x = canvas.width / 2; // Center horizontally
    
    // Draw top text
    if (topText) {
        ctx.textBaseline = 'top';
        drawText(topText, x, canvas.height * 0.03, maxWidth, false);
    }
    
    // Draw bottom text
    if (bottomText) {
        ctx.textBaseline = 'bottom';
        drawText(bottomText, x, canvas.height * 0.97, maxWidth, true);
    }
    
    return canvas;
}

Free Image Tool Creator

Can't find the image tool you're looking for?
Create one based on your own needs now!

Description

The Funny Image Contest Maker is an online tool designed to create classic meme-style images by overlaying customizable text on top of and bottom of your uploaded photos. It features a bold, high-contrast font style with text outlines to ensure readability over any background. This tool is ideal for social media users, content creators, or community managers who want to quickly generate humorous contest templates, reaction memes, or engagement-driven posts for platforms like Instagram, Facebook, or Discord.

Leave a Reply

Your email address will not be published. Required fields are marked *