{"id":2994,"date":"2026-01-01T14:15:47","date_gmt":"2026-01-01T22:15:47","guid":{"rendered":"https:\/\/altsl.com\/?page_id=2994"},"modified":"2026-01-01T15:16:57","modified_gmt":"2026-01-01T23:16:57","slug":"tattoo-maker","status":"publish","type":"page","link":"https:\/\/altsl.com\/nl\/tools\/tattoo-maker\/","title":{"rendered":"SL Tattoo Maker"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2994\" class=\"elementor elementor-2994\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-06a856b e-flex e-con-boxed e-con e-parent\" data-id=\"06a856b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-a2af690 e-con-full e-flex e-con e-child\" data-id=\"a2af690\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dade6 elementor-widget elementor-widget-heading\" data-id=\"97dade6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">SL Tattoo Maker<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc1319d elementor-widget elementor-widget-heading\" data-id=\"dc1319d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The ultimate digital stencil kit for designing custom tattoos across EvoX and body templates<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba3ea5c elementor-widget elementor-widget-html\" data-id=\"ba3ea5c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0\/css\/all.min.css\">\r\n\r\n<style>\r\n    .sl-nice-donate {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        background: rgba(255, 255, 255, 0.03);\r\n        backdrop-filter: blur(8px);\r\n        -webkit-backdrop-filter: blur(8px);\r\n        padding: 6px 16px 6px 8px;\r\n        border-radius: 40px;\r\n        border: 1px solid rgba(179, 102, 255, 0.25);\r\n        cursor: pointer;\r\n        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n        font-family: 'Segoe UI', Roboto, sans-serif;\r\n    }\r\n\r\n    .sl-nice-donate:hover {\r\n        background: rgba(68, 0, 102, 0.4);\r\n        border-color: #d199ff;\r\n        transform: translateY(-1px);\r\n    }\r\n\r\n    .linden-circle {\r\n        background: linear-gradient(135deg, #440066, #7c4dff);\r\n        color: #fff;\r\n        width: 32px;\r\n        height: 32px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        border-radius: 50%;\r\n        font-weight: 800;\r\n        font-size: 13px;\r\n        box-shadow: 0 0 15px rgba(124, 77, 255, 0.4);\r\n    }\r\n\r\n    .nice-content {\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    .nice-title {\r\n        color: #f0f0f0;\r\n        font-size: 12px;\r\n        font-weight: 600;\r\n        letter-spacing: 0.3px;\r\n    }\r\n\r\n    .nice-subtext {\r\n        color: #b366ff;\r\n        font-size: 10px;\r\n        font-style: italic;\r\n        opacity: 0.9;\r\n    }\r\n\r\n    .success-text {\r\n        color: #00ffbb !important;\r\n        font-weight: bold;\r\n    }\r\n<\/style>\r\n\r\n<div class=\"sl-nice-donate\" onclick=\"copyNiceName()\" title=\"Support the creator\">\r\n    <div class=\"linden-circle\" id=\"n-icon\">L$<\/div>\r\n    \r\n    <div class=\"nice-content\">\r\n        <span class=\"nice-title\" id=\"n-title\">Love our tools?<\/span>\r\n        <span class=\"nice-subtext\" id=\"n-sub\">Click to tip: OG.Resident<\/span>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction copyNiceName() {\r\n    const avatar = \"OG.Resident\"; \/\/ <--- YOUR SL NAME\r\n    \r\n    navigator.clipboard.writeText(avatar).then(() => {\r\n        const title = document.getElementById('n-title');\r\n        const sub = document.getElementById('n-sub');\r\n        const icon = document.getElementById('n-icon');\r\n\r\n        \/\/ The \"Nice\" Feedback\r\n        title.innerText = \"You're amazing!\";\r\n        title.classList.add('success-text');\r\n        sub.innerText = \"Name copied. Thank you so much!\";\r\n        icon.innerHTML = \"<i class='fas fa-heart'><\/i>\";\r\n        icon.style.background = \"#00ffbb\";\r\n\r\n        setTimeout(() => {\r\n            title.innerText = \"Love our tools?\";\r\n            title.classList.remove('success-text');\r\n            sub.innerText = \"Click to tip: \" + avatar;\r\n            icon.innerText = \"$L\";\r\n            icon.style.background = \"linear-gradient(135deg, #440066, #7c4dff)\";\r\n        }, 4000);\r\n    });\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-ece22fc e-con-full e-flex e-con e-parent\" data-id=\"ece22fc\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5797f66 elementor-widget elementor-widget-html\" data-id=\"5797f66\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link href=\"https:\/\/fonts.googleapis.com\/css2?family=UnifrakturMaguntia&family=Pirata+One&family=Niconne&family=Arizonia&family=Rochester&family=Berkshire+Swash&family=Metal+Mania&family=MedievalSharp&display=swap\" rel=\"stylesheet\">\r\n\r\n<div class=\"asl-wrapper\" id=\"aslMain\">\r\n  <style>\r\n    .asl-wrapper { font-family: \"Onest\", sans-serif; color: #ABABAB; transition: all 0.3s ease; }\r\n    \r\n    \/* FULLSCREEN FIX: Expands the card and tools to fill the view *\/\r\n    .asl-wrapper:fullscreen { \r\n        background: #050505 !important; \r\n        display: flex; \r\n        align-items: center; \r\n        justify-content: center; \r\n        width: 100vw; \r\n        height: 100vh;\r\n    }\r\n    \r\n    .asl-wrapper:fullscreen .asl-main-card { \r\n        width: 95vw; \r\n        height: 90vh; \r\n        max-width: none;\r\n        grid-template-columns: 1fr 380px; \/* Slightly wider tools in fullscreen *\/\r\n    }\r\n\r\n    .asl-wrapper:fullscreen .canvas-dynamic-box {\r\n        width: 80vh !important; \/* Makes canvas as large as possible without cutting off *\/\r\n        max-width: 100%;\r\n    }\r\n\r\n    .asl-main-card { \r\n      background: #0A0A0A; border-radius: 4px; padding: 20px; \r\n      border: 1px solid rgba(255,255,255,0.08); display: grid; \r\n      grid-template-columns: 1fr 340px; gap: 20px;\r\n      margin: auto;\r\n    }\r\n    \r\n    .view-toggle { display: flex; gap: 8px; margin-bottom: 12px; }\r\n    .view-btn {\r\n        flex: 1; background: #1a1a1a; border: 1px solid #333; color: #777;\r\n        padding: 10px; cursor: pointer; font-weight: 700; font-size: 11px;\r\n        text-transform: uppercase; border-radius: 4px;\r\n    }\r\n    .view-btn.active { background: #5D0090; color: #fff; border-color: #8A00C0; }\r\n\r\n    .canvas-dynamic-box {\r\n      background: #000; border: 1px solid #222; border-radius: 4px;\r\n      position: relative; margin: 0 auto; overflow: hidden;\r\n      transition: width 0.3s ease; width: 512px; aspect-ratio: 1 \/ 1;\r\n    }\r\n    \r\n    .canvas-container { width: 100% !important; height: 100% !important; }\r\n    canvas { width: 100% !important; height: 100% !important; }\r\n    \r\n    .sidebar-box { \r\n        background: #0F0F0F; padding: 20px; border-radius: 4px; \r\n        border: 1px solid #1a1a1a; height: 100%; \r\n        overflow-y: auto; box-sizing: border-box;\r\n    }\r\n    \r\n    .asl-btn {\r\n      width: 100%; padding: 12px; border-radius: 4px; border: none; color: #FFF; \r\n      font-weight: 600; cursor: pointer; text-transform: uppercase; font-size: 11px;\r\n      display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 8px;\r\n    }\r\n    .btn-blue { background: #004A8F; }\r\n    .btn-red { background: #630000; }\r\n    .btn-purple { background: #5D0090; }\r\n\r\n    .tool-group { margin-bottom: 15px; padding-bottom: 12px; border-bottom: 1px solid #222; }\r\n    .label-small { display: block; font-size: 10px; color: #555; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 1px; }\r\n    \r\n    .layer-manager { background: #050505; border: 1px solid #1a1a1a; border-radius: 4px; max-height: 150px; overflow-y: auto; }\r\n    .layer-item { display: flex; align-items: center; justify-content: space-between; padding: 10px; font-size: 11px; cursor: pointer; border-bottom: 1px solid #111; }\r\n    .layer-item.active { background: #161616; border-left: 3px solid #5D0090; color: #fff; }\r\n\r\n    select, input[type=\"text\"] { width: 100%; background: #1a1a1a; border: 1px solid #333; color: #fff; padding: 10px; border-radius: 4px; font-size: 12px; margin-bottom: 8px; box-sizing: border-box; }\r\n    \r\n    .color-picker-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }\r\n    \r\n    @media(max-width:980px){ .asl-main-card { grid-template-columns: 1fr !important; height: auto !important; } .canvas-dynamic-box { width: 100% !important; } }\r\n  <\/style>\r\n\r\n  <div class=\"asl-main-card\">\r\n    <div style=\"display: flex; flex-direction: column; height: 100%;\">\r\n      <div class=\"view-toggle\">\r\n        <button class=\"view-btn active\" id=\"showUpper\">Upper Body<\/button>\r\n        <button class=\"view-btn\" id=\"showLower\">Lower Body<\/button>\r\n        <button class=\"view-btn\" id=\"showHead\">EvoX Head<\/button>\r\n        <button class=\"view-btn\" id=\"fsBtn\" style=\"flex:0.2\"><i class=\"fas fa-expand\"><\/i><\/button>\r\n      <\/div>\r\n\r\n      <div class=\"canvas-dynamic-box\" id=\"sizeWrapper\">\r\n        <div id=\"con-u\" style=\"width:100%; height:100%;\"><canvas id=\"canvas-u\"><\/canvas><\/div>\r\n        <div id=\"con-l\" style=\"width:100%; height:100%; display:none;\"><canvas id=\"canvas-l\"><\/canvas><\/div>\r\n        <div id=\"con-h\" style=\"width:100%; height:100%; display:none;\"><canvas id=\"canvas-h\"><\/canvas><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <aside class=\"sidebar-box\">\r\n      <div class=\"tool-group\">\r\n        <span class=\"label-small\">Add Content<\/span>\r\n        <button class=\"asl-btn btn-purple\" onclick=\"document.getElementById('inkInput').click()\"><i class=\"fas fa-image\"><\/i> Add Tattoo Image<\/button>\r\n        <input type=\"file\" id=\"inkInput\" accept=\"image\/*\" style=\"display:none\">\r\n        \r\n        <input type=\"text\" id=\"tattooText\" placeholder=\"Type text here...\">\r\n        <select id=\"fontFamily\">\r\n            <option value=\"UnifrakturMaguntia\">Old English<\/option>\r\n            <option value=\"Pirata One\">Pirate Gothic<\/option>\r\n            <option value=\"Niconne\">Classic Script<\/option>\r\n            <option value=\"Arizonia\">Fine Script<\/option>\r\n            <option value=\"Rochester\">Vintage Cursive<\/option>\r\n            <option value=\"Berkshire Swash\">Bold Swash<\/option>\r\n            <option value=\"Metal Mania\">Metal Gothic<\/option>\r\n            <option value=\"MedievalSharp\">Sharp Serif<\/option>\r\n        <\/select>\r\n        <button class=\"asl-btn btn-purple\" id=\"addTextBtn\" style=\"background:#440066;\"><i class=\"fas fa-font\"><\/i> Add Tattoo Text<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"tool-group\">\r\n        <span class=\"label-small\">Adjust Layer<\/span>\r\n        <div class=\"view-toggle\" style=\"margin-bottom:10px\">\r\n          <button class=\"view-btn\" id=\"flipBtn\"><i class=\"fas fa-arrows-alt-h\"><\/i> Flip<\/button>\r\n          <button class=\"view-btn btn-red\" id=\"inkDel\"><i class=\"fas fa-trash\"><\/i> Delete<\/button>\r\n        <\/div>\r\n        \r\n        <label class=\"label-small\">Ink Opacity<\/label>\r\n        <input type=\"range\" id=\"inkOpacity\" min=\"0\" max=\"1\" step=\"0.05\" value=\"1\" style=\"width:100%; accent-color:#5D0090; margin-bottom:10px;\">\r\n        \r\n        <label class=\"label-small\">Realism (Shadow Blur)<\/label>\r\n        <input type=\"range\" id=\"inkShadow\" min=\"0\" max=\"25\" step=\"1\" value=\"0\" style=\"width:100%; accent-color:#5D0090; margin-bottom:15px;\">\r\n\r\n        <div class=\"color-picker-grid\">\r\n            <div class=\"color-input-wrap\">\r\n                <label class=\"label-small\">Ink Color<\/label>\r\n                <input type=\"color\" id=\"textColor\" value=\"#000000\" style=\"width:100%; height:35px; border:1px solid #333; background:none; cursor:pointer; border-radius:4px;\">\r\n            <\/div>\r\n            <div class=\"color-input-wrap\">\r\n                <label class=\"label-small\">Backdrop<\/label>\r\n                <input type=\"color\" id=\"bgColor\" value=\"#000000\" style=\"width:100%; height:35px; border:1px solid #333; background:none; cursor:pointer; border-radius:4px;\">\r\n            <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tool-group\">\r\n        <span class=\"label-small\">Layers & Workspace<\/span>\r\n        <div class=\"view-toggle\">\r\n            <button class=\"view-btn active\" id=\"qual1k\">1024px<\/button>\r\n            <button class=\"view-btn\" id=\"qual2k\">2048px<\/button>\r\n        <\/div>\r\n        <div class=\"layer-manager\" id=\"layerList\"><\/div>\r\n      <\/div>\r\n      \r\n      <button class=\"asl-btn btn-blue\" id=\"saveActive\">Export 2048px PNG<\/button>\r\n    <\/aside>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/fabric.js\/5.3.1\/fabric.min.js\"><\/script>\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const init = () => {\r\n        if (typeof fabric === 'undefined') { setTimeout(init, 50); return; }\r\n\r\n        const canU = new fabric.Canvas('canvas-u', { width: 2048, height: 2048, preserveObjectStacking: true });\r\n        const canL = new fabric.Canvas('canvas-l', { width: 2048, height: 2048, preserveObjectStacking: true });\r\n        const canH = new fabric.Canvas('canvas-h', { width: 2048, height: 2048, preserveObjectStacking: true });\r\n        let activeCanvas = canU;\r\n\r\n        const loadBG = (c, url) => {\r\n            fabric.Image.fromURL(url, (img) => {\r\n                img.set({ scaleX: 2048\/img.width, scaleY: 2048\/img.height, selectable: false, evented: false });\r\n                c.setBackgroundImage(img, c.renderAll.bind(c));\r\n            }, { crossOrigin: 'anonymous' });\r\n        };\r\n        loadBG(canU, 'https:\/\/altsl.com\/wp-content\/uploads\/2026\/01\/upper_template.png');\r\n        loadBG(canL, 'https:\/\/altsl.com\/wp-content\/uploads\/2026\/01\/lower_template.png');\r\n        loadBG(canH, 'https:\/\/altsl.com\/wp-content\/uploads\/2026\/01\/maleevox.png');\r\n\r\n        const updateLayers = () => {\r\n            const list = document.getElementById('layerList');\r\n            list.innerHTML = '';\r\n            activeCanvas.getObjects().reverse().forEach((obj) => {\r\n                const item = document.createElement('div');\r\n                item.className = 'layer-item' + (activeCanvas.getActiveObject() === obj ? ' active' : '');\r\n                item.innerHTML = `<span>${obj.type === 'i-text' ? 'Text' : 'Image'} Layer<\/span>`;\r\n                item.onclick = () => { activeCanvas.setActiveObject(obj); activeCanvas.renderAll(); };\r\n                list.appendChild(item);\r\n            });\r\n        };\r\n\r\n        [canU, canL, canH].forEach(c => {\r\n            c.on('selection:created', updateLayers);\r\n            c.on('selection:updated', updateLayers);\r\n            c.on('selection:cleared', updateLayers);\r\n        });\r\n\r\n        document.getElementById('inkShadow').oninput = function() {\r\n            const obj = activeCanvas.getActiveObject();\r\n            if(obj) {\r\n                const b = parseInt(this.value);\r\n                obj.set('shadow', b === 0 ? null : new fabric.Shadow({ color: 'rgba(0,0,0,0.6)', blur: b, offsetX: 2, offsetY: 2 }));\r\n                activeCanvas.renderAll();\r\n            }\r\n        };\r\n\r\n        document.getElementById('addTextBtn').onclick = () => {\r\n            const font = document.getElementById('fontFamily').value;\r\n            document.fonts.load(`1em \"${font}\"`).then(() => {\r\n                const t = new fabric.IText(document.getElementById('tattooText').value || \"Tattoo\", {\r\n                    left: 1024, top: 1024, fontFamily: font, fontSize: 200, fill: document.getElementById('textColor').value, originX: 'center'\r\n                });\r\n                activeCanvas.add(t).setActiveObject(t);\r\n                updateLayers();\r\n            });\r\n        };\r\n\r\n        document.getElementById('textColor').oninput = function() {\r\n            const obj = activeCanvas.getActiveObject();\r\n            if(obj && obj.type === 'i-text') { obj.set('fill', this.value); activeCanvas.renderAll(); }\r\n        };\r\n\r\n        document.getElementById('bgColor').oninput = function() { document.getElementById('sizeWrapper').style.background = this.value; };\r\n\r\n        document.getElementById('fsBtn').onclick = () => {\r\n            const el = document.getElementById('aslMain');\r\n            if (!document.fullscreenElement) el.requestFullscreen();\r\n            else document.exitFullscreen();\r\n        };\r\n\r\n        document.getElementById('qual1k').onclick = function() {\r\n            this.classList.add('active'); document.getElementById('qual2k').classList.remove('active');\r\n            document.getElementById('sizeWrapper').style.width = '512px';\r\n        };\r\n        document.getElementById('qual2k').onclick = function() {\r\n            this.classList.add('active'); document.getElementById('qual1k').classList.remove('active');\r\n            document.getElementById('sizeWrapper').style.width = '100%';\r\n        };\r\n\r\n        const switchV = (btnId, conId, canvas) => {\r\n            ['showUpper', 'showLower', 'showHead'].forEach(id => document.getElementById(id).classList.remove('active'));\r\n            ['con-u', 'con-l', 'con-h'].forEach(id => document.getElementById(id).style.display = 'none');\r\n            document.getElementById(btnId).classList.add('active');\r\n            document.getElementById(conId).style.display = 'block';\r\n            activeCanvas = canvas;\r\n            updateLayers();\r\n        };\r\n\r\n        document.getElementById('showUpper').onclick = () => switchV('showUpper', 'con-u', canU);\r\n        document.getElementById('showLower').onclick = () => switchV('showLower', 'con-l', canL);\r\n        document.getElementById('showHead').onclick = () => switchV('showHead', 'con-h', canH);\r\n\r\n        document.getElementById('inkInput').onchange = (e) => {\r\n            const reader = new FileReader();\r\n            reader.onload = (f) => { fabric.Image.fromURL(f.target.result, (img) => { img.scaleToWidth(600); activeCanvas.add(img).setActiveObject(img); updateLayers(); }); };\r\n            reader.readAsDataURL(e.target.files[0]);\r\n        };\r\n\r\n        document.getElementById('inkOpacity').oninput = function() {\r\n            const obj = activeCanvas.getActiveObject();\r\n            if(obj) { obj.set('opacity', parseFloat(this.value)); activeCanvas.renderAll(); }\r\n        };\r\n\r\n        document.getElementById('flipBtn').onclick = () => { const o = activeCanvas.getActiveObject(); if(o){ o.set('flipX', !o.flipX); activeCanvas.renderAll(); }};\r\n        document.getElementById('inkDel').onclick = () => { if(activeCanvas.getActiveObject()){ activeCanvas.remove(activeCanvas.getActiveObject()); updateLayers(); }};\r\n\r\n        document.getElementById('saveActive').onclick = () => {\r\n            const bg = activeCanvas.backgroundImage;\r\n            activeCanvas.setBackgroundImage(null, () => {\r\n                const link = document.createElement('a');\r\n                link.download = \"Tattoo_Export.png\";\r\n                link.href = activeCanvas.toDataURL({ format: 'png', multiplier: 1 });\r\n                link.click();\r\n                activeCanvas.setBackgroundImage(bg, activeCanvas.renderAll.bind(activeCanvas));\r\n            });\r\n        };\r\n    };\r\n    init();\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SL Tattoo Maker The ultimate digital stencil kit for designing custom tattoos across EvoX and body templates L$ Love our tools? Click to tip: OG.Resident Upper Body Lower Body EvoX Head Add Content Add Tattoo Image Old EnglishPirate GothicClassic ScriptFine ScriptVintage CursiveBold SwashMetal GothicSharp Serif Add Tattoo Text Adjust Layer Flip Delete Ink Opacity Realism [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":482,"parent":1613,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2994","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Second Life SL Tattoo Maker - Alt Weekend Sales<\/title>\n<meta name=\"description\" content=\"Design realistic tattoos for EvoX and body templates with the SL Tattoo Maker. Custom fonts and professional ink textures.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/altsl.com\/nl\/tools\/tattoo-maker\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Second Life SL Tattoo Maker - Alt Weekend Sales\" \/>\n<meta property=\"og:description\" content=\"Design realistic tattoos for EvoX and body templates with the SL Tattoo Maker. Custom fonts and professional ink textures.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/altsl.com\/nl\/tools\/tattoo-maker\/\" \/>\n<meta property=\"og:site_name\" content=\"Alt Weekend Sales\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-01T23:16:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"851\" \/>\n\t<meta property=\"og:image:height\" content=\"284\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/\",\"url\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/\",\"name\":\"Second Life SL Tattoo Maker - Alt Weekend Sales\",\"isPartOf\":{\"@id\":\"https:\/\/altsl.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png\",\"datePublished\":\"2026-01-01T22:15:47+00:00\",\"dateModified\":\"2026-01-01T23:16:57+00:00\",\"description\":\"Design realistic tattoos for EvoX and body templates with the SL Tattoo Maker. Custom fonts and professional ink textures.\",\"breadcrumb\":{\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/altsl.com\/tools\/tattoo-maker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage\",\"url\":\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png\",\"contentUrl\":\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png\",\"width\":851,\"height\":284},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/altsl.com\/tools\/tattoo-maker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/altsl.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tools\",\"item\":\"https:\/\/altsl.com\/tools\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SL Tattoo Maker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/altsl.com\/#website\",\"url\":\"https:\/\/altsl.com\/\",\"name\":\"Alt Weekend Sale\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/altsl.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/altsl.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/altsl.com\/#organization\",\"name\":\"Alt Weekend Sale\",\"url\":\"https:\/\/altsl.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/altsl.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png\",\"contentUrl\":\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png\",\"width\":1024,\"height\":747,\"caption\":\"Alt Weekend Sale\"},\"image\":{\"@id\":\"https:\/\/altsl.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Second Life SL Tattoo Maker - Alt Weekend Sales","description":"Ontwerp realistische tatoeages voor EvoX en body templates met de SL Tattoo Maker. Aangepaste lettertypen en professionele inkttexturen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/altsl.com\/nl\/tools\/tattoo-maker\/","og_locale":"nl_NL","og_type":"article","og_title":"Second Life SL Tattoo Maker - Alt Weekend Sales","og_description":"Design realistic tattoos for EvoX and body templates with the SL Tattoo Maker. Custom fonts and professional ink textures.","og_url":"https:\/\/altsl.com\/nl\/tools\/tattoo-maker\/","og_site_name":"Alt Weekend Sales","article_modified_time":"2026-01-01T23:16:57+00:00","og_image":[{"width":851,"height":284,"url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"4 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/","url":"https:\/\/altsl.com\/tools\/tattoo-maker\/","name":"Second Life SL Tattoo Maker - Alt Weekend Sales","isPartOf":{"@id":"https:\/\/altsl.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage"},"image":{"@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage"},"thumbnailUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","datePublished":"2026-01-01T22:15:47+00:00","dateModified":"2026-01-01T23:16:57+00:00","description":"Ontwerp realistische tatoeages voor EvoX en body templates met de SL Tattoo Maker. Aangepaste lettertypen en professionele inkttexturen.","breadcrumb":{"@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/altsl.com\/tools\/tattoo-maker\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/#primaryimage","url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","contentUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","width":851,"height":284},{"@type":"BreadcrumbList","@id":"https:\/\/altsl.com\/tools\/tattoo-maker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/altsl.com\/"},{"@type":"ListItem","position":2,"name":"Tools","item":"https:\/\/altsl.com\/tools\/"},{"@type":"ListItem","position":3,"name":"SL Tattoo Maker"}]},{"@type":"WebSite","@id":"https:\/\/altsl.com\/#website","url":"https:\/\/altsl.com\/","name":"Alt Weekend Sale","description":"","publisher":{"@id":"https:\/\/altsl.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/altsl.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/altsl.com\/#organization","name":"Alt Weekend Sale","url":"https:\/\/altsl.com\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/altsl.com\/#\/schema\/logo\/image\/","url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png","contentUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png","width":1024,"height":747,"caption":"Alt Weekend Sale"},"image":{"@id":"https:\/\/altsl.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/2994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/comments?post=2994"}],"version-history":[{"count":91,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/2994\/revisions"}],"predecessor-version":[{"id":3089,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/2994\/revisions\/3089"}],"up":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/1613"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/media\/482"}],"wp:attachment":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/media?parent=2994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}