{"id":1064,"date":"2026-05-20T16:48:49","date_gmt":"2026-05-20T13:48:49","guid":{"rendered":"https:\/\/life-peptide.com\/?page_id=1064"},"modified":"2026-05-21T17:14:48","modified_gmt":"2026-05-21T14:14:48","slug":"calculator","status":"publish","type":"page","link":"https:\/\/life-peptide.com\/fr\/calculator\/","title":{"rendered":"Calculateur de peptides"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\">Peptide calculator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use this research reconstitution calculator to estimate solution concentration and portion amounts after adding solvent to a lyophilised peptide vial. For solvent-selection guidance, handling notes, and peptide-specific solvent recommendations use our <a href=\"\/reconstitution-of-peptides\/\" data-type=\"link\" data-id=\"\/reconstitution-of-peptides\/\">reconstitution guide<\/a>.<\/p>\n\n\n\n    <div class=\"life-calc-wrap\">\n        <div class=\"life-calc-card\">\n            <div class=\"life-calc-header\">\n                <h2>Research Reconstitution Calculator<\/h2>\n                <p>Calculate solution concentration and aliquot amounts for laboratory research preparation.<\/p>\n            <\/div>\n\n            <div class=\"life-calc-grid\">\n                <label>\n                    Peptide amount in vial\n                    <div class=\"life-input-row\">\n                        <input\n                            type=\"number\"\n                            id=\"life_peptide_mg\"\n                            value=\"10\"\n                            min=\"0\"\n                            step=\"0.01\"\n                        >\n                        <span>mg<\/span>\n                    <\/div>\n                <\/label>\n\n                <label>\n                    Diluent added\n                    <div class=\"life-input-row\">\n                        <input\n                            type=\"number\"\n                            id=\"life_diluent_ml\"\n                            value=\"2\"\n                            min=\"0\"\n                            step=\"0.01\"\n                        >\n                        <span>mL<\/span>\n                    <\/div>\n                <\/label>\n\n                <label>\n                    Portion volume\n                    <div class=\"life-input-row\">\n                        <input\n                            type=\"number\"\n                            id=\"life_aliquot_ul\"\n                            value=\"100\"\n                            min=\"0\"\n                            step=\"1\"\n                        >\n                        <span>\u00b5L<\/span>\n                    <\/div>\n                <\/label>\n            <\/div>\n\n            <div class=\"life-results\">\n                <div>\n                    <small>Concentration<\/small>\n                    <strong id=\"life_result_mg_ml\">\u2014<\/strong>\n                    <span>mg\/mL<\/span>\n                <\/div>\n\n                <div>\n                    <small>Equivalent<\/small>\n                    <strong id=\"life_result_ug_ul\">\u2014<\/strong>\n                    <span>\u00b5g\/\u00b5L<\/span>\n                <\/div>\n\n                <div class=\"life-highlight\">\n                    <small>Peptide amount per portion<\/small>\n                    <strong id=\"life_result_ug\">\u2014<\/strong>\n                    <span>\u00b5g<\/span>\n                <\/div>\n\n                <div>\n                    <small>Approx. portions per vial<\/small>\n                    <strong id=\"life_result_count\">\u2014<\/strong>\n                    <span>aliquots<\/span>\n                <\/div>\n\n                <div class=\"life-units-result\">\n                    <small>U-100 syringe equivalent<\/small>\n                    <strong id=\"life_result_units\">\u2014<\/strong>\n                    <span>units<\/span>\n                <\/div>\n            <\/div>\n\n            <div class=\"life-syringe-section\">\n                <div class=\"life-syringe-heading\">\n                    <div>\n                        <small>U-100 syringe reference<\/small>\n                        <strong>\n                            <span id=\"life_syringe_units_text\">\u2014<\/span> units\n                        <\/strong>\n                    <\/div>\n\n                    <span id=\"life_syringe_capacity\">\n                        30-unit scale\n                    <\/span>\n                <\/div>\n\n                <div class=\"life-syringe-visual\">\n                    <svg\n                        id=\"life_syringe_svg\"\n                        viewBox=\"0 0 700 145\"\n                        role=\"img\"\n                        aria-label=\"U-100 syringe scale reference\"\n                    >\n                        <!-- Plunger -->\n                        <rect\n                            x=\"14\"\n                            y=\"54\"\n                            width=\"58\"\n                            height=\"38\"\n                            rx=\"4\"\n                            class=\"life-svg-outline\"\n                        \/>\n\n                        <line\n                            x1=\"0\"\n                            y1=\"44\"\n                            x2=\"0\"\n                            y2=\"102\"\n                            class=\"life-svg-outline\"\n                        \/>\n\n                        <line\n                            x1=\"0\"\n                            y1=\"44\"\n                            x2=\"28\"\n                            y2=\"44\"\n                            class=\"life-svg-outline\"\n                        \/>\n\n                        <line\n                            x1=\"0\"\n                            y1=\"102\"\n                            x2=\"28\"\n                            y2=\"102\"\n                            class=\"life-svg-outline\"\n                        \/>\n\n                        <!-- Barrel -->\n                        <rect\n                            x=\"72\"\n                            y=\"38\"\n                            width=\"550\"\n                            height=\"70\"\n                            rx=\"10\"\n                            class=\"life-svg-barrel\"\n                        \/>\n\n                        <!-- Highlighted volume -->\n                        <rect\n                            id=\"life_syringe_fill\"\n                            x=\"73\"\n                            y=\"39\"\n                            width=\"0\"\n                            height=\"68\"\n                            rx=\"9\"\n                            class=\"life-svg-fill\"\n                        \/>\n\n                        <!-- Dynamic ticks -->\n                        <g id=\"life_syringe_ticks\"><\/g>\n\n                        <!-- Dynamic marker -->\n                        <line\n                            id=\"life_syringe_marker\"\n                            x1=\"72\"\n                            y1=\"30\"\n                            x2=\"72\"\n                            y2=\"116\"\n                            class=\"life-svg-marker\"\n                        \/>\n\n                        <polygon\n                            id=\"life_syringe_marker_arrow\"\n                            points=\"72,26 65,16 79,16\"\n                            class=\"life-svg-marker-fill\"\n                        \/>\n\n                        <!-- Tip -->\n                        <rect\n                            x=\"622\"\n                            y=\"56\"\n                            width=\"35\"\n                            height=\"34\"\n                            rx=\"4\"\n                            class=\"life-svg-outline\"\n                        \/>\n\n                        <line\n                            x1=\"657\"\n                            y1=\"73\"\n                            x2=\"694\"\n                            y2=\"73\"\n                            class=\"life-svg-needle\"\n                        \/>\n                    <\/svg>\n                <\/div>\n\n                <p class=\"life-syringe-note\">\n                    Standard U-100 syringes use the same unit scale regardless\n                    of total capacity. 1 unit corresponds to 0.01 mL or 10 \u00b5L.\n                <\/p>\n            <\/div>\n\n            <p class=\"life-calc-disclaimer\">\n                This calculator is provided for laboratory research preparation\n                and concentration calculation only. It does not provide medical,\n                dosing, administration, injection, or human-use guidance.\n                LIFE Peptide products are supplied for research use only and are\n                not intended for human consumption.\n            <\/p>\n        <\/div>\n    <\/div>\n\n    <style>\n        .life-calc-wrap {\n            max-width: 760px;\n            margin: 30px auto;\n            font-family: inherit;\n        }\n\n        .life-calc-card {\n            background: #ffffff;\n            border: 1px solid #d9ded9;\n            border-radius: 18px;\n            overflow: hidden;\n            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);\n        }\n\n        .life-calc-header {\n            background: #1D5133;\n            color: #ffffff;\n            padding: 26px 28px;\n        }\n\n        .life-calc-header h2 {\n            margin: 0 0 8px;\n            color: #ffffff;\n            font-size: 26px;\n            line-height: 1.2;\n        }\n\n        .life-calc-header p {\n            margin: 0;\n            opacity: 0.9;\n            font-size: 15px;\n        }\n\n        .life-calc-grid {\n            display: grid;\n            grid-template-columns: repeat(3, 1fr);\n            gap: 18px;\n            padding: 26px 28px;\n        }\n\n        .life-calc-grid label {\n            font-weight: 600;\n            font-size: 14px;\n            color: #1f2a24;\n        }\n\n        .life-input-row {\n            display: flex;\n            align-items: center;\n            margin-top: 8px;\n            border: 1px solid #cfd6cf;\n            border-radius: 12px;\n            overflow: hidden;\n            background: #ffffff;\n        }\n\n        .life-input-row input {\n            width: 100%;\n            border: none !important;\n            padding: 13px 12px;\n            font-size: 16px;\n            outline: none;\n            box-shadow: none !important;\n        }\n\n        .life-input-row span {\n            padding: 0 12px;\n            color: #5d6a61;\n            font-size: 14px;\n            white-space: nowrap;\n        }\n\n        .life-results {\n            display: grid;\n            grid-template-columns: repeat(5, 1fr);\n            gap: 1px;\n            background: #d9ded9;\n            border-top: 1px solid #d9ded9;\n            border-bottom: 1px solid #d9ded9;\n        }\n\n        .life-results > div {\n            background: #f7f9f7;\n            padding: 20px 12px;\n            text-align: center;\n        }\n\n        .life-results .life-highlight,\n        .life-results .life-units-result {\n            background: #edf4ef;\n        }\n\n        .life-results small {\n            display: block;\n            min-height: 30px;\n            font-size: 12px;\n            line-height: 1.25;\n            color: #5d6a61;\n            margin-bottom: 6px;\n        }\n\n        .life-results strong {\n            display: block;\n            font-size: 28px;\n            color: #1D5133;\n            line-height: 1.1;\n        }\n\n        .life-results span {\n            display: block;\n            font-size: 12px;\n            color: #5d6a61;\n            margin-top: 4px;\n        }\n\n        .life-syringe-section {\n            padding: 24px 28px 22px;\n            border-bottom: 1px solid #d9ded9;\n            background: #ffffff;\n        }\n\n        .life-syringe-heading {\n            display: flex;\n            justify-content: space-between;\n            align-items: flex-end;\n            gap: 20px;\n            margin-bottom: 15px;\n        }\n\n        .life-syringe-heading small {\n            display: block;\n            margin-bottom: 4px;\n            font-size: 12px;\n            color: #5d6a61;\n        }\n\n        .life-syringe-heading strong {\n            display: block;\n            color: #1D5133;\n            font-size: 21px;\n            line-height: 1.2;\n        }\n\n        #life_syringe_capacity {\n            flex-shrink: 0;\n            padding: 6px 10px;\n            border: 1px solid #cfd6cf;\n            border-radius: 20px;\n            background: #f7f9f7;\n            color: #5d6a61;\n            font-size: 12px;\n        }\n\n        .life-syringe-visual {\n            width: 100%;\n            overflow: hidden;\n        }\n\n        #life_syringe_svg {\n            display: block;\n            width: 100%;\n            height: auto;\n        }\n\n        .life-svg-outline,\n        .life-svg-barrel {\n            fill: #ffffff;\n            stroke: #7c8980;\n            stroke-width: 2;\n        }\n\n        .life-svg-fill {\n            fill: rgba(29, 81, 51, 0.14);\n            stroke: none;\n        }\n\n        .life-svg-needle {\n            fill: none;\n            stroke: #7c8980;\n            stroke-width: 2;\n        }\n\n        .life-svg-marker {\n            stroke: #1D5133;\n            stroke-width: 3;\n        }\n\n        .life-svg-marker-fill {\n            fill: #1D5133;\n        }\n\n        .life-syringe-tick {\n            stroke: #5d6a61;\n            stroke-width: 1.5;\n        }\n\n        .life-syringe-tick-major {\n            stroke: #1f2a24;\n            stroke-width: 2;\n        }\n\n        .life-syringe-label {\n            fill: #5d6a61;\n            font-size: 11px;\n            font-family: Arial, sans-serif;\n            text-anchor: middle;\n        }\n\n        .life-syringe-note {\n            margin: 12px 0 0;\n            font-size: 12px;\n            line-height: 1.5;\n            color: #5d6a61;\n        }\n\n        .life-calc-disclaimer {\n            padding: 18px 28px 22px;\n            margin: 0;\n            font-size: 12px;\n            line-height: 1.6;\n            color: #5d6a61;\n            background: #ffffff;\n        }\n\n        @media (max-width: 850px) {\n            .life-results {\n                grid-template-columns: repeat(2, 1fr);\n            }\n\n            .life-results > div:last-child {\n                grid-column: 1 \/ -1;\n            }\n\n            .life-results small {\n                min-height: 0;\n            }\n        }\n\n        @media (max-width: 700px) {\n            .life-calc-grid {\n                grid-template-columns: 1fr;\n            }\n\n            .life-results {\n                grid-template-columns: 1fr;\n            }\n\n            .life-results > div:last-child {\n                grid-column: auto;\n            }\n\n            .life-calc-header,\n            .life-calc-grid,\n            .life-syringe-section,\n            .life-calc-disclaimer {\n                padding-left: 20px;\n                padding-right: 20px;\n            }\n\n            .life-calc-header h2 {\n                font-size: 22px;\n            }\n\n            .life-syringe-heading {\n                align-items: flex-start;\n                flex-direction: column;\n                gap: 10px;\n            }\n\n            #life_syringe_capacity {\n                align-self: flex-start;\n            }\n        }\n    <\/style>\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            const svgNamespace = 'http:\/\/www.w3.org\/2000\/svg';\n\n            const barrelStartX = 73;\n            const barrelWidth = 548;\n            const tickTopY = 39;\n            const tickBottomY = 107;\n\n            function lifeFormatNumber(value, maximumDecimals) {\n                return Number(value).toLocaleString(undefined, {\n                    minimumFractionDigits: 0,\n                    maximumFractionDigits: maximumDecimals\n                });\n            }\n\n            function lifeGetSyringeCapacity(units) {\n                if (units <= 30) {\n                    return 30;\n                }\n\n                if (units <= 50) {\n                    return 50;\n                }\n\n                return 100;\n            }\n\n            function lifeRenderSyringe(units) {\n                const safeUnits = Math.max(0, units);\n                const capacity = lifeGetSyringeCapacity(safeUnits);\n                const displayedUnits = Math.min(safeUnits, capacity);\n                const fraction = displayedUnits \/ capacity;\n\n                const markerX = barrelStartX + (barrelWidth * fraction);\n                const fillWidth = barrelWidth * fraction;\n\n                const fill = document.getElementById('life_syringe_fill');\n                const marker = document.getElementById('life_syringe_marker');\n                const arrow = document.getElementById('life_syringe_marker_arrow');\n                const tickGroup = document.getElementById('life_syringe_ticks');\n\n                fill.setAttribute('width', fillWidth.toFixed(2));\n\n                marker.setAttribute('x1', markerX.toFixed(2));\n                marker.setAttribute('x2', markerX.toFixed(2));\n\n                arrow.setAttribute(\n                    'points',\n                    [\n                        markerX + ',26',\n                        (markerX - 7) + ',16',\n                        (markerX + 7) + ',16'\n                    ].join(' ')\n                );\n\n                tickGroup.innerHTML = '';\n\n                const minorStep = capacity === 100 ? 2 : 1;\n                const majorStep = capacity === 100 ? 10 : 5;\n\n                for (let value = 0; value <= capacity; value += minorStep) {\n                    const x = barrelStartX + (barrelWidth * value \/ capacity);\n                    const isMajor = value % majorStep === 0;\n\n                    const tick = document.createElementNS(\n                        svgNamespace,\n                        'line'\n                    );\n\n                    tick.setAttribute('x1', x);\n                    tick.setAttribute('x2', x);\n                    tick.setAttribute('y1', tickTopY);\n\n                    tick.setAttribute(\n                        'y2',\n                        isMajor ? tickTopY + 22 : tickTopY + 11\n                    );\n\n                    tick.setAttribute(\n                        'class',\n                        isMajor\n                            ? 'life-syringe-tick-major'\n                            : 'life-syringe-tick'\n                    );\n\n                    tickGroup.appendChild(tick);\n\n                    if (isMajor) {\n                        const label = document.createElementNS(\n                            svgNamespace,\n                            'text'\n                        );\n\n                        label.setAttribute('x', x);\n                        label.setAttribute('y', tickBottomY + 20);\n                        label.setAttribute('class', 'life-syringe-label');\n                        label.textContent = value;\n\n                        tickGroup.appendChild(label);\n                    }\n                }\n\n                document.getElementById(\n                    'life_syringe_capacity'\n                ).textContent = capacity + '-unit scale';\n            }\n\n            function lifeClearResults() {\n                [\n                    'life_result_mg_ml',\n                    'life_result_ug_ul',\n                    'life_result_ug',\n                    'life_result_count',\n                    'life_result_units',\n                    'life_syringe_units_text'\n                ].forEach(function (id) {\n                    const element = document.getElementById(id);\n\n                    if (element) {\n                        element.textContent = '\u2014';\n                    }\n                });\n\n                lifeRenderSyringe(0);\n            }\n\n            function lifeCalcUpdate() {\n                const peptideMg = parseFloat(\n                    document.getElementById('life_peptide_mg').value\n                );\n\n                const diluentMl = parseFloat(\n                    document.getElementById('life_diluent_ml').value\n                );\n\n                const aliquotUl = parseFloat(\n                    document.getElementById('life_aliquot_ul').value\n                );\n\n                if (\n                    !Number.isFinite(peptideMg) ||\n                    !Number.isFinite(diluentMl) ||\n                    !Number.isFinite(aliquotUl) ||\n                    peptideMg <= 0 ||\n                    diluentMl <= 0 ||\n                    aliquotUl <= 0\n                ) {\n                    lifeClearResults();\n                    return;\n                }\n\n                const concentrationMgMl = peptideMg \/ diluentMl;\n\n                \/*\n                 * Numerically:\n                 * 1 mg\/mL = 1 \u00b5g\/\u00b5L\n                 *\/\n                const concentrationUgUl = concentrationMgMl;\n\n                const amountPerAliquotUg =\n                    concentrationUgUl * aliquotUl;\n\n                const aliquotCount =\n                    (diluentMl * 1000) \/ aliquotUl;\n\n                \/*\n                 * U-100 reference:\n                 * 1 unit = 0.01 mL = 10 \u00b5L\n                 *\/\n                const syringeUnits = aliquotUl \/ 10;\n\n                document.getElementById(\n                    'life_result_mg_ml'\n                ).textContent = concentrationMgMl.toFixed(2);\n\n                document.getElementById(\n                    'life_result_ug_ul'\n                ).textContent = concentrationUgUl.toFixed(2);\n\n                document.getElementById(\n                    'life_result_ug'\n                ).textContent = lifeFormatNumber(\n                    amountPerAliquotUg,\n                    2\n                );\n\n                document.getElementById(\n                    'life_result_count'\n                ).textContent = aliquotCount.toFixed(1);\n\n                document.getElementById(\n                    'life_result_units'\n                ).textContent = lifeFormatNumber(\n                    syringeUnits,\n                    1\n                );\n\n                document.getElementById(\n                    'life_syringe_units_text'\n                ).textContent = lifeFormatNumber(\n                    syringeUnits,\n                    1\n                );\n\n                lifeRenderSyringe(syringeUnits);\n            }\n\n            [\n                'life_peptide_mg',\n                'life_diluent_ml',\n                'life_aliquot_ul'\n            ].forEach(function (id) {\n                const element = document.getElementById(id);\n\n                if (element) {\n                    element.addEventListener(\n                        'input',\n                        lifeCalcUpdate\n                    );\n                }\n            });\n\n            lifeCalcUpdate();\n        });\n    <\/script>\n\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Calculateur de peptides Utilisez ce calculateur de reconstitution pour la recherche afin d'estimer la concentration de la solution et les quantit\u00e9s de portions apr\u00e8s l'ajout de solvant \u00e0 un flacon de peptide lyophilis\u00e9. Pour obtenir des conseils sur le choix du solvant, des notes de manipulation et des recommandations de solvants sp\u00e9cifiques aux peptides, consultez notre guide de reconstitution.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1064","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/pages\/1064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/comments?post=1064"}],"version-history":[{"count":3,"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/pages\/1064\/revisions"}],"predecessor-version":[{"id":1081,"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/pages\/1064\/revisions\/1081"}],"wp:attachment":[{"href":"https:\/\/life-peptide.com\/fr\/wp-json\/wp\/v2\/media?parent=1064"}],"curies":[{"name":"Bien jou\u00e9","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}