{"id":32472,"date":"2026-03-14T13:05:35","date_gmt":"2026-03-14T12:05:35","guid":{"rendered":"https:\/\/www.finanzen.net\/ratgeber\/?p=32472"},"modified":"2026-03-15T11:34:21","modified_gmt":"2026-03-15T10:34:21","slug":"etf-rechner","status":"publish","type":"post","link":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/","title":{"rendered":"ETF-Rechner"},"content":{"rendered":"\n<div class=\"container container--narrow\">\n    <div class=\"header\">\n                    <div class=\"header__image hide-on-smartphone hide-on-desktop\">\n                <img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"ETF-Rechner\" srcset=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg 1376w, https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner-300x167.jpg 300w, https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner-1024x572.jpg 1024w, https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/>                            <\/div>\n                <div class=\"header__text header__text--fullwidth\">\n                            <div class=\"headline headline--preline headline--h4 header__preline\">\n                                     <\/div>\n                                        <h1 class=\"headline headline--h1 header__headline headline--has-preline\">\n                    ETF-Rechner: Berechne, was aus deinem Sparplan wird                <\/h1>\n                        <div class=\"header__excerpt flow-content\">\n                                    <p>Wie viel Verm\u00f6gen baust du auf, wenn du jeden Monat in einen ETF investierst? Unser <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/net\/\" data-ilm-light=\"93\" title=\"ETF-Rechner\">ETF-Rechner<\/a> zeigt es dir: Trag deine Sparrate, Laufzeit und erwartete Rendite ein und sieh in Sekunden, was am Ende rauskommt. Du kannst auch r\u00fcckw\u00e4rts rechnen und herausfinden, wie viel du monatlich sparen musst, um ein bestimmtes Ziel zu erreichen. <\/p>\n                            <\/div>\n            <div class=\"header__footer\">\n                <span class=\"header__meta\">\n                    <img loading=\"lazy\" decoding=\"async\" class=\"header__author-image\"\n                         src=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg\"\n                         width=\"58\"\n                         height=\"58\"\n                         alt=\"\">\n                    <span class=\"header__meta-info\">\n                        <span class=\"header__author-name\">\n                            von <a href=\"https:\/\/www.finanzen.net\/ratgeber\/author\/roland-kruse\/\" title=\"Beitr\u00e4ge von Roland Kuse\" rel=\"author\" class=\"link link--no-underline\">Roland Kuse<\/a>                        <\/span>\n                        <span class=\"header__date\">\n                            <span class=\"hide-on-smartphone\">Aktualisiert am<\/span>\n                            <time datetime=\"2026-03-15 11:34\"\n                                  title=\"Aktualisiert am 15.03.2026\">\n                                15.03.26                            <\/time>\n                        <\/span>\n                    <\/span>\n                <\/span>\n\n                                    <div class=\"header__buttons\">\n                                                    <a class=\"fnet-button fnet-button--small\"\n                                                                  style=\"--button-background:#50ce6b;--button-hover-background:#50ce6b;\"\n                                                              href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/zinseszinsrechner\/\"\n                               target=\"\">\n                                zum Zinseszinsrechner                            <\/a>\n                                            <\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"container container--narrow\">\n            <style>\r\n.wp-etf-calculator-container { max-width: 900px; margin: 20px auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; background-color: #ffffff; border-radius: 16px; border: 3px solid #e2e8f0; box-shadow: 0 4px 12px rgba(0,0,0,0.1); color: #1a202c; }\r\n.wp-etf-calculator-container .section-title { font-size: 14px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; margin: 25px 0 15px 0; padding-bottom: 8px; border-bottom: 2px solid #e2e8f0; }\r\n.wp-etf-calculator-container .section-title:first-of-type { margin-top: 0; }\r\n.wp-etf-calculator-container .calculator-form .input-group { display: flex; align-items: center; margin-bottom: 15px; }\r\n.wp-etf-calculator-container .calculator-form .input-group label { width: 220px; flex-shrink: 0; margin-right: 10px; font-weight: 600; color: #4a5568; }\r\n.wp-etf-calculator-container .input-wrapper { position: relative; flex-grow: 1; }\r\n.wp-etf-calculator-container .calculator-form .input-group input,\r\n.wp-etf-calculator-container .calculator-form .input-group select { width: 100%; padding: 10px; padding-right: 60px; border: 1px solid #e2e8f0; border-radius: 8px; box-sizing: border-box; font-size: 16px; }\r\n.wp-etf-calculator-container .input-unit { position: absolute; top: 50%; transform: translateY(-50%); right: 15px; color: #718096; font-weight: 500; pointer-events: none; }\r\n.wp-etf-calculator-container .calculator-form .input-group select { padding-right: 40px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url('data:image\/svg+xml;charset=UTF-8,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"%23718096\"%3E%3Cpath fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\" \/%3E%3C\/svg%3E'); background-repeat: no-repeat; background-position: right 12px center; background-size: 1.2em; cursor: pointer; }\r\n.wp-etf-calculator-container .mode-selector { margin-bottom: 25px; }\r\n.wp-etf-calculator-container .mode-selector label { display: block; margin-bottom: 8px; font-weight: 700; color: #4a5568; }\r\n.wp-etf-calculator-container .mode-selector select { width: 100%; padding: 12px 15px; border: 2px solid #4A69FF; border-radius: 8px; font-size: 16px; font-weight: 600; color: #1a202c; background-color: #f8fafc; cursor: pointer; padding-right: 40px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url('data:image\/svg+xml;charset=UTF-8,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"%23718096\"%3E%3Cpath fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\" \/%3E%3C\/svg%3E'); background-repeat: no-repeat; background-position: right 12px center; background-size: 1.2em; }\r\n.wp-etf-calculator-container .checkbox-group { display: flex; align-items: center; margin-bottom: 15px; }\r\n.wp-etf-calculator-container .checkbox-group input[type=\"checkbox\"] { width: 20px; height: 20px; margin-right: 10px; accent-color: #4A69FF; cursor: pointer; }\r\n.wp-etf-calculator-container .checkbox-group label { font-weight: 600; color: #4a5568; cursor: pointer; }\r\n.wp-etf-calculator-container .tax-section { background-color: #f8fafc; padding: 20px; border-radius: 12px; margin-top: 10px; border: 1px solid #e2e8f0; }\r\n.wp-etf-calculator-container .tax-section.collapsed .tax-fields { display: none; }\r\n.wp-etf-calculator-container .tax-header { display: flex; justify-content: space-between; align-items: center; cursor: pointer; margin-bottom: 15px; }\r\n.wp-etf-calculator-container .tax-header h4 { margin: 0; font-size: 14px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; }\r\n.wp-etf-calculator-container .tax-toggle { background: none; border: none; color: #4A69FF; font-size: 16px; cursor: pointer; font-weight: bold; }\r\n.wp-etf-calculator-container .button-container { display: flex; gap: 10px; margin-top: 25px; }\r\n.wp-etf-calculator-container .calculate-button,\r\n.wp-etf-calculator-container .reset-button { border-radius: 8px; padding: 12px 20px; cursor: pointer; width: 100%; font-size: 16px; font-weight: 700; transition: all 0.2s; border: none; }\r\n.wp-etf-calculator-container .calculate-button { background-color: #4A69FF; color: white; }\r\n.wp-etf-calculator-container .calculate-button:hover { background-color: #3a50d2; }\r\n.wp-etf-calculator-container .reset-button { background-color: #fee2e2; color: #dc2626; border: 1px solid #fecaca; }\r\n.wp-etf-calculator-container .reset-button:hover { background-color: #fecaca; }\r\n.wp-etf-calculator-container .export-button { border-radius: 8px; padding: 12px 20px; cursor: pointer; width: 100%; font-size: 16px; font-weight: 700; background-color: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; margin-top: 20px; }\r\n.wp-etf-calculator-container .permalink-button { background: none; border: none; color: #4A69FF; cursor: pointer; font-size: 14px; font-weight: 700; }\r\n.wp-etf-calculator-container .results-wrapper { margin-top: 30px; border-top: 2px solid #e2e8f0; padding-top: 25px; }\r\n.wp-etf-calculator-container .result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }\r\n.wp-etf-calculator-container .result-header-title { font-size: 24px; font-weight: 700; margin: 0; }\r\n.wp-etf-calculator-container .result-main { background: linear-gradient(135deg, #4A69FF 0%, #6B8CFF 100%); color: white; padding: 30px; border-radius: 12px; text-align: center; margin-bottom: 24px; }\r\n.wp-etf-calculator-container .result-main .result-label { font-size: 16px; opacity: 0.9; margin-bottom: 8px; }\r\n.wp-etf-calculator-container .result-main .result-number { font-size: 42px; font-weight: 800; }\r\n.wp-etf-calculator-container .result-main .result-number-small { font-size: 18px; font-weight: 600; opacity: 0.85; margin-top: 8px; }\r\n.wp-etf-calculator-container .result-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }\r\n.wp-etf-calculator-container .result-card { background-color: #f8fafc; padding: 16px; border-radius: 10px; border: 1px solid #e2e8f0; }\r\n.wp-etf-calculator-container .result-card .card-label { font-size: 13px; color: #64748b; margin-bottom: 4px; }\r\n.wp-etf-calculator-container .result-card .card-value { font-size: 20px; font-weight: 700; color: #1e293b; }\r\n.wp-etf-calculator-container .result-card .card-value.positive { color: #16a34a; }\r\n.wp-etf-calculator-container .result-card .card-value.negative { color: #dc2626; }\r\n.wp-etf-calculator-container .result-summary { background-color: #f0fdf4; border: 1px solid #bbf7d0; padding: 16px; border-radius: 8px; margin-bottom: 24px; line-height: 1.7; color: #15803d; }\r\n.wp-etf-calculator-container .result-summary strong { color: #166534; }\r\n.wp-etf-calculator-container .chart-section { margin-top: 30px; }\r\n.wp-etf-calculator-container .chart-section h4 { font-size: 18px; font-weight: 700; margin-bottom: 16px; }\r\n.wp-etf-calculator-container .chart-container { position: relative; height: 350px; }\r\n.wp-etf-calculator-container .legend { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 16px; }\r\n.wp-etf-calculator-container .legend-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4a5568; }\r\n.wp-etf-calculator-container .legend-item::before { content: ''; display: block; width: 12px; height: 12px; border-radius: 3px; }\r\n.wp-etf-calculator-container .legend-item--einzahlungen::before { background-color: #4A69FF; }\r\n.wp-etf-calculator-container .legend-item--zinsen::before { background-color: #10b981; }\r\n.wp-etf-calculator-container .data-table { width: 100%; border-collapse: collapse; font-size: 14px; }\r\n.wp-etf-calculator-container .data-table th,\r\n.wp-etf-calculator-container .data-table td { padding: 10px 12px; text-align: right; border-bottom: 1px solid #e2e8f0; }\r\n.wp-etf-calculator-container .data-table th { background-color: #f8fafc; font-weight: 600; color: #475569; }\r\n.wp-etf-calculator-container .data-table th:first-child,\r\n.wp-etf-calculator-container .data-table td:first-child { text-align: left; }\r\n.wp-etf-calculator-container .table-wrapper { max-height: 400px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 20px; }\r\n.wp-etf-calculator-container .show-table-btn { background: none; border: 1px solid #e2e8f0; color: #475569; padding: 10px 16px; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; margin-top: 16px; }\r\n@media (max-width: 768px) {\r\n    .wp-etf-calculator-container .calculator-form .input-group { flex-direction: column; align-items: flex-start; }\r\n    .wp-etf-calculator-container .calculator-form .input-group label { width: 100%; margin-bottom: 8px; }\r\n    .wp-etf-calculator-container .result-main .result-number { font-size: 32px; }\r\n    .wp-etf-calculator-container .result-details { grid-template-columns: 1fr; }\r\n    .wp-etf-calculator-container .button-container { flex-direction: column; }\r\n}\r\n\r\n\/* Optionaler CTA-Button *\/\r\n.wp-etf-calculator-container .cta-button-container { margin-top: 10px; }\r\n.wp-etf-calculator-container .cta-button-container .cta-button {\r\n    display: block;\r\n    width: 100%;\r\n    border-radius: 8px;\r\n    padding: 12px 20px;\r\n    cursor: pointer;\r\n    font-size: 16px;\r\n    font-weight: 700;\r\n    transition: all 0.2s;\r\n    border: none;\r\n    background-color: #fa2879;\r\n    color: white;\r\n    text-align: center;\r\n    text-decoration: none;\r\n    box-sizing: border-box;\r\n}\r\n.wp-etf-calculator-container .cta-button-container .cta-button:hover { background-color: #d91f66; }\r\n<\/style>\r\n\r\n<div class=\"wp-etf-calculator-container\">\r\n    <form class=\"calculator-form\" onsubmit=\"return false;\">\r\n        <div class=\"mode-selector\">\r\n            <label for=\"etf-mode\">Was moechtest du berechnen?<\/label>\r\n            <select id=\"etf-mode\" class=\"calculationMode\">\r\n                <option value=\"endkapital\">Endkapital berechnen<\/option>\r\n                <option value=\"sparrate\">Benoetigte Sparrate berechnen<\/option>\r\n                <option value=\"anfangskapital\">Benoetigtes Anfangskapital berechnen<\/option>\r\n                <option value=\"zinssatz\">Erforderlichen Zinssatz berechnen<\/option>\r\n                <option value=\"laufzeit\">Benoetigte Laufzeit berechnen<\/option>\r\n            <\/select>\r\n        <\/div>\r\n\r\n        <div class=\"section-title\">Grunddaten<\/div>\r\n        \r\n        <div class=\"input-group field-anfangskapital\">\r\n            <label for=\"etf-anfangskapital\">Anfangskapital<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <input type=\"number\" id=\"etf-anfangskapital\" class=\"anfangskapital\" value=\"5000\" step=\"100\">\r\n                <span class=\"input-unit\">EUR<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group\">\r\n            <label for=\"etf-sparintervall\">Sparintervall<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <select id=\"etf-sparintervall\" class=\"sparintervall\">\r\n                    <option value=\"monatlich\" selected>Monatlich<\/option>\r\n                    <option value=\"vierteljaehrlich\">Vierteljaehrlich<\/option>\r\n                    <option value=\"halbjaehrlich\">Halbjaehrlich<\/option>\r\n                    <option value=\"jaehrlich\">Jaehrlich<\/option>\r\n                <\/select>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group field-sparrate\">\r\n            <label for=\"etf-sparrate\">Sparrate<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <input type=\"number\" id=\"etf-sparrate\" class=\"sparrate\" value=\"150\" step=\"10\">\r\n                <span class=\"input-unit\">EUR<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group field-zinssatz\">\r\n            <label for=\"etf-zinssatz\">Zinssatz p.a.<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <input type=\"number\" id=\"etf-zinssatz\" class=\"zinssatz\" value=\"1.5\" step=\"0.1\">\r\n                <span class=\"input-unit\">%<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group\">\r\n            <label for=\"etf-zinsintervall\">Zinsintervall<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <select id=\"etf-zinsintervall\" class=\"zinsintervall\">\r\n                    <option value=\"monatlich\" selected>Monatlich<\/option>\r\n                    <option value=\"vierteljaehrlich\">Vierteljaehrlich<\/option>\r\n                    <option value=\"halbjaehrlich\">Halbjaehrlich<\/option>\r\n                    <option value=\"jaehrlich\">Jaehrlich<\/option>\r\n                <\/select>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group field-laufzeit\">\r\n            <label for=\"etf-laufzeit\">Laufzeit<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <input type=\"number\" id=\"etf-laufzeit\" class=\"laufzeit\" value=\"7\" step=\"1\" min=\"1\">\r\n                <span class=\"input-unit\">Jahre<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"input-group field-zielkapital\" style=\"display: none;\">\r\n            <label for=\"etf-zielkapital\">Zielkapital<\/label>\r\n            <div class=\"input-wrapper\">\r\n                <input type=\"number\" id=\"etf-zielkapital\" class=\"zielkapital\" value=\"50000\" step=\"1000\">\r\n                <span class=\"input-unit\">EUR<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"tax-section\">\r\n            <div class=\"tax-header\">\r\n                <h4>Steuerliche Optionen<\/h4>\r\n                <button type=\"button\" class=\"tax-toggle\">[+]<\/button>\r\n            <\/div>\r\n            <div class=\"tax-fields\">\r\n                <div class=\"checkbox-group\">\r\n                    <input type=\"checkbox\" id=\"etf-steuern\" class=\"steuernBerechnen\" checked>\r\n                    <label for=\"etf-steuern\">Steuern beruecksichtigen<\/label>\r\n                <\/div>\r\n\r\n                <div class=\"input-group steuer-detail\">\r\n                    <label for=\"etf-kapitalertragsteuer\">Kapitalertragsteuer<\/label>\r\n                    <div class=\"input-wrapper\">\r\n                        <input type=\"number\" id=\"etf-kapitalertragsteuer\" class=\"kapitalertragsteuer\" value=\"26.375\" step=\"0.001\">\r\n                        <span class=\"input-unit\">%<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"input-group steuer-detail\">\r\n                    <label for=\"etf-ausschuettungsart\">Ausschuettungsart<\/label>\r\n                    <div class=\"input-wrapper\">\r\n                        <select id=\"etf-ausschuettungsart\" class=\"ausschuettungsart\">\r\n                            <option value=\"thesaurierend\">Thesaurierend (Steuer am Ende)<\/option>\r\n                            <option value=\"ausschuettend\">Ausschuettend (jaehrliche Steuer)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"checkbox-group steuer-detail\">\r\n                    <input type=\"checkbox\" id=\"etf-teilfreistellung\" class=\"teilfreistellungAktiv\" checked>\r\n                    <label for=\"etf-teilfreistellung\">Teilfreistellung beruecksichtigen<\/label>\r\n                <\/div>\r\n\r\n                <div class=\"input-group steuer-detail teilfreistellung-detail\">\r\n                    <label for=\"etf-fondstyp\">Fondstyp<\/label>\r\n                    <div class=\"input-wrapper\">\r\n                        <select id=\"etf-fondstyp\" class=\"fondstyp\">\r\n                            <option value=\"aktienfonds\">Aktienfonds (30% Teilfreistellung)<\/option>\r\n                            <option value=\"mischfonds\">Mischfonds (15% Teilfreistellung)<\/option>\r\n                            <option value=\"sonstige\">Sonstige (0% Teilfreistellung)<\/option>\r\n                        <\/select>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/form>\r\n\r\n    <div class=\"button-container\">\r\n        <button type=\"button\" class=\"reset-button resetButton\">Zuruecksetzen<\/button>\r\n        <button type=\"submit\" class=\"calculate-button calculateButton\">Berechnen<\/button>\r\n    <\/div>\r\n\r\n    <!-- CTA-Button: Zum Ausblenden diese 3 Zeilen loeschen -->\r\n    <div class=\"cta-button-container\">\r\n<a class=\"cta-button\" style=\"background-color: #fa2879; color: yellow; display: block; border-radius: 8px; padding: 12px 24px; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none;\" href=\"https:\/\/g.finanzen.net\/zero-fnet_331j-ratgeber-etf-rechner\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: white;\">Kostenloses Depot gesucht? Spare Ordergeb\u00fchren mit finanzen.net ZERO!<\/a>\r\n    <\/div>\r\n\r\n    <div class=\"results-wrapper\" style=\"display: none;\">\r\n        <div class=\"result-header\">\r\n            <h3 class=\"result-header-title\">Ergebnis<\/h3>\r\n            <button type=\"button\" class=\"permalink-button permalinkButton\">Link kopieren<\/button>\r\n        <\/div>\r\n        \r\n        <div class=\"result-main\">\r\n            <div class=\"result-label main-label\">Endkapital<\/div>\r\n            <div class=\"result-number main-result\"><\/div>\r\n            <div class=\"result-number-small net-result\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"result-details\">\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">Einzahlungen gesamt<\/div>\r\n                <div class=\"card-value total-deposits\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">Zinsertraege (brutto)<\/div>\r\n                <div class=\"card-value positive total-interest\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card tax-card\">\r\n                <div class=\"card-label\">Gezahlte Steuern gesamt<\/div>\r\n                <div class=\"card-value negative total-tax\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card tax-card\">\r\n                <div class=\"card-label\">Endkapital (netto)<\/div>\r\n                <div class=\"card-value final-net\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"result-summary\"><\/div>\r\n\r\n        <div class=\"chart-section\">\r\n            <h4>Kapitalentwicklung<\/h4>\r\n            <div class=\"legend legend-container\">\r\n                <span class=\"legend-item legend-item--einzahlungen\">Einzahlungen<\/span>\r\n                <span class=\"legend-item legend-item--zinsen\">Zinsen (netto)<\/span>\r\n            <\/div>\r\n            <div class=\"chart-container\"><canvas class=\"etfChart\"><\/canvas><\/div>\r\n        <\/div>\r\n\r\n        <button type=\"button\" class=\"show-table-btn showTableBtn\">Jahresuebersicht anzeigen<\/button>\r\n        <div class=\"table-wrapper\" style=\"display: none;\">\r\n            <table class=\"data-table\">\r\n                <thead>\r\n                    <tr>\r\n                        <th>Jahr<\/th>\r\n                        <th>Einzahlungen<\/th>\r\n                        <th>Zinsen (Jahr)<\/th>\r\n                        <th>Steuer (Jahr)<\/th>\r\n                        <th>Kapital<\/th>\r\n                    <\/tr>\r\n                <\/thead>\r\n                <tbody class=\"table-body\"><\/tbody>\r\n            <\/table>\r\n        <\/div>\r\n\r\n        <button type=\"button\" class=\"export-button exportButton\" style=\"display: none;\">Daten als CSV exportieren<\/button>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/themes\/fnet-ratgeber\/js\/libs\/chart.js\"><\/script>\r\n<script>\r\n\/**\r\n * ETF-Sparplan-Rechner \u2014 Fixed Version\r\n *\r\n * Fixes gegen\u00fcber Original:\r\n * 1. Chart\/Tabelle zeigen bei thesaurierend jetzt korrekte Netto-Werte\r\n * 2. Tabelle zeigt bei thesaurierend das Netto-Kapital (anteilige Steuer pro Jahr)\r\n * 3. berechneLaufzeit nutzt jetzt bin\u00e4re Suche f\u00fcr Dezimalpr\u00e4zision\r\n * 4. berechneZinssatz: obere Grenze auf 2.0 (200%) erh\u00f6ht\r\n * 5. Kernberechnung auf Monatsbasis f\u00fcr korrekte unterj\u00e4hrige Sparraten-Verzinsung\r\n * 6. Toter Code entfernt\r\n * 7. Legende per CSS statt dynamischer Style-Tags\r\n * 8. Chart.js-Laden per Polling statt starrem setTimeout\r\n *\/\r\n(function() {\r\n    'use strict';\r\n\r\n    \/\/ FIX #8: Polling statt starrem setTimeout\r\n    var pollInterval = setInterval(function() {\r\n        if (typeof Chart === 'undefined') return;\r\n        clearInterval(pollInterval);\r\n        initCalculator();\r\n    }, 200);\r\n\r\n    \/\/ Fallback-Timeout nach 10s\r\n    var pollTimeout = setTimeout(function() {\r\n        clearInterval(pollInterval);\r\n        if (typeof Chart === 'undefined') {\r\n            console.error('Chart.js konnte nicht geladen werden.');\r\n        }\r\n    }, 10000);\r\n\r\n    function initCalculator() {\r\n        clearTimeout(pollTimeout);\r\n\r\n        var container = document.querySelector('.wp-etf-calculator-container');\r\n        if (!container || container.dataset.initialized === 'true') return;\r\n        container.dataset.initialized = 'true';\r\n        \r\n        var chartInstance = null;\r\n        var lastResult = null;\r\n\r\n        var elements = {\r\n            modeSelect: container.querySelector('#etf-mode'),\r\n            resultsWrapper: container.querySelector('.results-wrapper'),\r\n            tableWrapper: container.querySelector('.table-wrapper'),\r\n            taxSection: container.querySelector('.tax-section'),\r\n            taxToggle: container.querySelector('.tax-toggle'),\r\n            showTableBtn: container.querySelector('.showTableBtn'),\r\n            exportButton: container.querySelector('.exportButton'),\r\n            permalinkButton: container.querySelector('.permalinkButton')\r\n        };\r\n\r\n        var intervallMonate = {\r\n            'monatlich': 1,\r\n            'vierteljaehrlich': 3,\r\n            'halbjaehrlich': 6,\r\n            'jaehrlich': 12\r\n        };\r\n\r\n        function formatCurrency(num) {\r\n            return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(num);\r\n        }\r\n\r\n        function formatNumber(num, decimals) {\r\n            return new Intl.NumberFormat('de-DE', { minimumFractionDigits: decimals, maximumFractionDigits: decimals }).format(num);\r\n        }\r\n\r\n        function getTeilfreistellung() {\r\n            if (!container.querySelector('#etf-teilfreistellung').checked) return 0;\r\n            var fondstyp = container.querySelector('#etf-fondstyp').value;\r\n            if (fondstyp === 'aktienfonds') return 0.30;\r\n            if (fondstyp === 'mischfonds') return 0.15;\r\n            return 0;\r\n        }\r\n\r\n        function getEffektiveSteuersatz() {\r\n            if (!container.querySelector('#etf-steuern').checked) return 0;\r\n            var steuer = parseFloat(container.querySelector('#etf-kapitalertragsteuer').value) \/ 100;\r\n            var tfq = getTeilfreistellung();\r\n            return steuer * (1 - tfq);\r\n        }\r\n\r\n        function isAusschuettend() {\r\n            return container.querySelector('#etf-ausschuettungsart').value === 'ausschuettend';\r\n        }\r\n\r\n        function updateFieldVisibility() {\r\n            var mode = elements.modeSelect.value;\r\n            \r\n            container.querySelector('.field-anfangskapital').style.display = 'flex';\r\n            container.querySelector('.field-sparrate').style.display = 'flex';\r\n            container.querySelector('.field-zinssatz').style.display = 'flex';\r\n            container.querySelector('.field-laufzeit').style.display = 'flex';\r\n            container.querySelector('.field-zielkapital').style.display = 'none';\r\n\r\n            if (mode === 'sparrate') {\r\n                container.querySelector('.field-sparrate').style.display = 'none';\r\n                container.querySelector('.field-zielkapital').style.display = 'flex';\r\n            } else if (mode === 'anfangskapital') {\r\n                container.querySelector('.field-anfangskapital').style.display = 'none';\r\n                container.querySelector('.field-zielkapital').style.display = 'flex';\r\n            } else if (mode === 'zinssatz') {\r\n                container.querySelector('.field-zinssatz').style.display = 'none';\r\n                container.querySelector('.field-zielkapital').style.display = 'flex';\r\n            } else if (mode === 'laufzeit') {\r\n                container.querySelector('.field-laufzeit').style.display = 'none';\r\n                container.querySelector('.field-zielkapital').style.display = 'flex';\r\n            }\r\n        }\r\n\r\n        function updateTaxVisibility() {\r\n            var isActive = container.querySelector('#etf-steuern').checked;\r\n            var details = container.querySelectorAll('.steuer-detail');\r\n            for (var i = 0; i < details.length; i++) {\r\n                details[i].style.display = isActive ? 'flex' : 'none';\r\n            }\r\n\r\n            var tfqActive = container.querySelector('#etf-teilfreistellung').checked && isActive;\r\n            var tfqDetails = container.querySelectorAll('.teilfreistellung-detail');\r\n            for (var j = 0; j < tfqDetails.length; j++) {\r\n                tfqDetails[j].style.display = tfqActive ? 'flex' : 'none';\r\n            }\r\n\r\n            var taxCards = container.querySelectorAll('.tax-card');\r\n            for (var k = 0; k < taxCards.length; k++) {\r\n                taxCards[k].style.display = isActive ? 'block' : 'none';\r\n            }\r\n        }\r\n\r\n        elements.modeSelect.addEventListener('change', function() {\r\n            updateFieldVisibility();\r\n            elements.resultsWrapper.style.display = 'none';\r\n        });\r\n\r\n        container.querySelector('#etf-steuern').addEventListener('change', updateTaxVisibility);\r\n        container.querySelector('#etf-teilfreistellung').addEventListener('change', updateTaxVisibility);\r\n        \r\n        elements.taxToggle.addEventListener('click', function() {\r\n            elements.taxSection.classList.toggle('collapsed');\r\n            elements.taxToggle.textContent = elements.taxSection.classList.contains('collapsed') ? '[+]' : '[-]';\r\n        });\r\n\r\n        elements.showTableBtn.addEventListener('click', function() {\r\n            if (elements.tableWrapper.style.display === 'none') {\r\n                elements.tableWrapper.style.display = 'block';\r\n                elements.showTableBtn.textContent = 'Jahresuebersicht ausblenden';\r\n            } else {\r\n                elements.tableWrapper.style.display = 'none';\r\n                elements.showTableBtn.textContent = 'Jahresuebersicht anzeigen';\r\n            }\r\n        });\r\n\r\n        container.querySelector('.button-container').addEventListener('click', function(e) {\r\n            var button = e.target.closest('button');\r\n            if (!button) return;\r\n            \r\n            if (button.classList.contains('calculateButton')) {\r\n                handleCalculation();\r\n            } else if (button.classList.contains('resetButton')) {\r\n                resetCalculator();\r\n            }\r\n        });\r\n\r\n        elements.permalinkButton.addEventListener('click', function() {\r\n            var params = new URLSearchParams();\r\n            params.set('mode', elements.modeSelect.value);\r\n            params.set('anfang', container.querySelector('#etf-anfangskapital').value);\r\n            params.set('sparint', container.querySelector('#etf-sparintervall').value);\r\n            params.set('rate', container.querySelector('#etf-sparrate').value);\r\n            params.set('zins', container.querySelector('#etf-zinssatz').value);\r\n            params.set('zinsint', container.querySelector('#etf-zinsintervall').value);\r\n            params.set('laufzeit', container.querySelector('#etf-laufzeit').value);\r\n            params.set('ziel', container.querySelector('#etf-zielkapital').value);\r\n            params.set('steuer', container.querySelector('#etf-steuern').checked ? '1' : '0');\r\n            params.set('aussch', container.querySelector('#etf-ausschuettungsart').value);\r\n            params.set('fondstyp', container.querySelector('#etf-fondstyp').value);\r\n            var url = window.location.origin + window.location.pathname + '?' + params.toString();\r\n            \r\n            navigator.clipboard.writeText(url).then(function() {\r\n                var originalText = elements.permalinkButton.textContent;\r\n                elements.permalinkButton.textContent = 'Kopiert!';\r\n                setTimeout(function() {\r\n                    elements.permalinkButton.textContent = originalText;\r\n                }, 2000);\r\n            });\r\n        });\r\n\r\n        elements.exportButton.addEventListener('click', function() {\r\n            if (!lastResult) return;\r\n            var rows = ['Jahr;Einzahlungen;Zinsen (Jahr);Steuer (Jahr);Kapital'];\r\n            \r\n            for (var i = 0; i < lastResult.yearlyData.length; i++) {\r\n                var d = lastResult.yearlyData[i];\r\n                rows.push(d.jahr + ';' + d.einzahlungen.toFixed(2).replace('.', ',') + ';' + d.zinsenJahr.toFixed(2).replace('.', ',') + ';' + d.steuerJahr.toFixed(2).replace('.', ',') + ';' + d.kapitalNetto.toFixed(2).replace('.', ','));\r\n            }\r\n            \r\n            var blob = new Blob(['\\uFEFF' + rows.join('\\n')], { type: 'text\/csv;charset=utf-8;' });\r\n            var link = document.createElement('a');\r\n            link.href = URL.createObjectURL(blob);\r\n            link.download = 'etf-sparplan.csv';\r\n            link.click();\r\n        });\r\n\r\n        function resetCalculator() {\r\n            elements.modeSelect.value = 'endkapital';\r\n            container.querySelector('#etf-anfangskapital').value = '5000';\r\n            container.querySelector('#etf-sparintervall').value = 'monatlich';\r\n            container.querySelector('#etf-sparrate').value = '150';\r\n            container.querySelector('#etf-zinssatz').value = '1.5';\r\n            container.querySelector('#etf-zinsintervall').value = 'monatlich';\r\n            container.querySelector('#etf-laufzeit').value = '7';\r\n            container.querySelector('#etf-zielkapital').value = '50000';\r\n            container.querySelector('#etf-steuern').checked = true;\r\n            container.querySelector('#etf-kapitalertragsteuer').value = '26.375';\r\n            container.querySelector('#etf-ausschuettungsart').value = 'thesaurierend';\r\n            container.querySelector('#etf-teilfreistellung').checked = true;\r\n            container.querySelector('#etf-fondstyp').value = 'aktienfonds';\r\n            \r\n            updateFieldVisibility();\r\n            updateTaxVisibility();\r\n            elements.resultsWrapper.style.display = 'none';\r\n            elements.tableWrapper.style.display = 'none';\r\n            elements.exportButton.style.display = 'none';\r\n            \r\n            if (chartInstance) {\r\n                chartInstance.destroy();\r\n                chartInstance = null;\r\n            }\r\n            lastResult = null;\r\n        }\r\n\r\n        function handleCalculation() {\r\n            var mode = elements.modeSelect.value;\r\n            var anfangskapital = parseFloat(container.querySelector('#etf-anfangskapital').value) || 0;\r\n            var sparrate = parseFloat(container.querySelector('#etf-sparrate').value) || 0;\r\n            var zinssatzPA = (parseFloat(container.querySelector('#etf-zinssatz').value) || 0) \/ 100;\r\n            var laufzeitJahre = parseInt(container.querySelector('#etf-laufzeit').value) || 1;\r\n            var zielkapital = parseFloat(container.querySelector('#etf-zielkapital').value) || 0;\r\n            var sparIntervallMonate = intervallMonate[container.querySelector('#etf-sparintervall').value];\r\n            var zinsIntervallMonate = intervallMonate[container.querySelector('#etf-zinsintervall').value];\r\n            \r\n            var effSteuer = getEffektiveSteuersatz();\r\n            var ausschuettend = isAusschuettend();\r\n\r\n            var result;\r\n            var berechneterWert = '';\r\n            var berechneterWertLabel = '';\r\n\r\n            if (mode === 'endkapital') {\r\n                result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                berechneterWert = formatCurrency(result.endkapital);\r\n                berechneterWertLabel = 'Endkapital';\r\n            } else if (mode === 'sparrate') {\r\n                var benoetigteSparrate = berechneSparrate(anfangskapital, zielkapital, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                container.querySelector('#etf-sparrate').value = benoetigteSparrate.toFixed(2);\r\n                result = berechneEndkapital(anfangskapital, benoetigteSparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                berechneterWert = formatCurrency(benoetigteSparrate);\r\n                berechneterWertLabel = 'Benoetigte Sparrate';\r\n                sparrate = benoetigteSparrate;\r\n            } else if (mode === 'anfangskapital') {\r\n                var benoetigtesAnfangskapital = berechneAnfangskapital(zielkapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                container.querySelector('#etf-anfangskapital').value = benoetigtesAnfangskapital.toFixed(2);\r\n                result = berechneEndkapital(benoetigtesAnfangskapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                berechneterWert = formatCurrency(benoetigtesAnfangskapital);\r\n                berechneterWertLabel = 'Benoetigtes Anfangskapital';\r\n                anfangskapital = benoetigtesAnfangskapital;\r\n            } else if (mode === 'zinssatz') {\r\n                \/\/ FIX #4: Obere Grenze auf 200% erh\u00f6ht\r\n                var benoetigterZinssatz = berechneZinssatz(anfangskapital, sparrate, zielkapital, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                container.querySelector('#etf-zinssatz').value = (benoetigterZinssatz * 100).toFixed(2);\r\n                result = berechneEndkapital(anfangskapital, sparrate, benoetigterZinssatz, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                berechneterWert = formatNumber(benoetigterZinssatz * 100, 2) + ' %';\r\n                berechneterWertLabel = 'Erforderlicher Zinssatz p.a.';\r\n                zinssatzPA = benoetigterZinssatz;\r\n            } else if (mode === 'laufzeit') {\r\n                \/\/ FIX #3: Bin\u00e4re Suche f\u00fcr Dezimalpr\u00e4zision\r\n                var benoetigteLaufzeit = berechneLaufzeit(anfangskapital, sparrate, zielkapital, zinssatzPA, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                container.querySelector('#etf-laufzeit').value = Math.ceil(benoetigteLaufzeit);\r\n                result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, Math.ceil(benoetigteLaufzeit), sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                berechneterWert = formatNumber(benoetigteLaufzeit, 1) + ' Jahre';\r\n                berechneterWertLabel = 'Benoetigte Laufzeit';\r\n                laufzeitJahre = Math.ceil(benoetigteLaufzeit);\r\n            }\r\n\r\n            lastResult = {\r\n                mode: mode,\r\n                berechneterWert: berechneterWert,\r\n                berechneterWertLabel: berechneterWertLabel,\r\n                endkapital: result.endkapital,\r\n                einzahlungen: result.einzahlungen,\r\n                zinsenBrutto: result.zinsenBrutto,\r\n                steuerGesamt: result.steuerGesamt,\r\n                yearlyData: result.yearlyData,\r\n                laufzeit: laufzeitJahre,\r\n                sparrate: sparrate,\r\n                anfangskapital: anfangskapital,\r\n                zinssatz: zinssatzPA * 100,\r\n                ausschuettend: ausschuettend\r\n            };\r\n\r\n            updateUI(lastResult);\r\n            renderChart(lastResult);\r\n            renderTable(lastResult);\r\n            \r\n            elements.resultsWrapper.style.display = 'block';\r\n            elements.exportButton.style.display = 'block';\r\n        }\r\n\r\n        \/**\r\n         * FIX #5: Kernberechnung auf Monatsbasis.\r\n         * Iteriert Monat f\u00fcr Monat. Einzahlungen erfolgen im richtigen Monat,\r\n         * Zinsen werden nur in Zinsintervall-Monaten berechnet \u2014 auf das\r\n         * tats\u00e4chlich vorhandene Kapital zu diesem Zeitpunkt.\r\n         *\r\n         * FIX #1 + #2: yearlyData enth\u00e4lt jetzt bei thesaurierend die\r\n         * anteilige Steuer (steuerJahr = Jahres-Zinsen \u00d7 effSteuer)\r\n         * und kapitalNetto (Brutto-Kapital minus kumulierte anteilige Steuer).\r\n         *\/\r\n        function berechneEndkapital(anfangskapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend) {\r\n            var gesamtMonate = laufzeitJahre * 12;\r\n            var zinssatzProMonat = zinssatzPA \/ 12;\r\n\r\n            var kapital = anfangskapital;\r\n            var einzahlungenGesamt = anfangskapital;\r\n            var zinsenBruttoGesamt = 0;\r\n            var steuerGesamt = 0;\r\n\r\n            var yearlyData = [];\r\n\r\n            \/\/ Akkumulatoren f\u00fcr das laufende Jahr\r\n            var jahresZinsen = 0;\r\n            var jahresSteuer = 0;\r\n\r\n            \/\/ Akkumulator f\u00fcr noch nicht verzinsten Betrag innerhalb einer Zinsperiode\r\n            var unverzinsteSumme = 0;\r\n\r\n            for (var monat = 1; monat <= gesamtMonate; monat++) {\r\n                \/\/ Einzahlung in diesem Monat?\r\n                if (monat % sparIntervallMonate === 0) {\r\n                    kapital += sparrate;\r\n                    einzahlungenGesamt += sparrate;\r\n                    unverzinsteSumme += sparrate;\r\n                }\r\n\r\n                \/\/ Zinsen in diesem Monat?\r\n                if (monat % zinsIntervallMonate === 0) {\r\n                    var periodenProIntervall = zinsIntervallMonate;\r\n                    \/\/ Zinsen auf das Kapital, das bereits zu Beginn des Intervalls vorhanden war\r\n                    \/\/ plus anteilige Zinsen auf unterj\u00e4hrige Einzahlungen\r\n                    \/\/ Vereinfacht: Zinsen auf gesamtes aktuelles Kapital f\u00fcr die Zinsperiode\r\n                    var zinsenPeriode = kapital * (Math.pow(1 + zinssatzProMonat, periodenProIntervall) - 1);\r\n                    \r\n                    zinsenBruttoGesamt += zinsenPeriode;\r\n                    jahresZinsen += zinsenPeriode;\r\n                    kapital += zinsenPeriode;\r\n                    unverzinsteSumme = 0;\r\n                }\r\n\r\n                \/\/ Jahresende\r\n                if (monat % 12 === 0) {\r\n                    var jahr = monat \/ 12;\r\n                    var steuerJahr = 0;\r\n\r\n                    if (ausschuettend) {\r\n                        \/\/ Aussch\u00fcttend: j\u00e4hrliche Steuer auf Jahres-Zinsen\r\n                        steuerJahr = jahresZinsen * effSteuer;\r\n                        steuerGesamt += steuerJahr;\r\n                        kapital -= steuerJahr;\r\n                    } else {\r\n                        \/\/ FIX #1\/#2: Thesaurierend \u2014 anteilige Steuer f\u00fcr Anzeige berechnen\r\n                        steuerJahr = jahresZinsen * effSteuer;\r\n                        steuerGesamt += steuerJahr;\r\n                        \/\/ Kapital wird bei thesaurierend NICHT reduziert (Steuer erst am Ende)\r\n                    }\r\n\r\n                    yearlyData.push({\r\n                        jahr: jahr,\r\n                        einzahlungen: einzahlungenGesamt,\r\n                        zinsenJahr: jahresZinsen,\r\n                        steuerJahr: steuerJahr,\r\n                        \/\/ Brutto-Kapital (vor Steuerabzug bei thesaurierend)\r\n                        kapitalBrutto: kapital,\r\n                        \/\/ FIX #2: Netto-Kapital \u2014 bei thesaurierend mit kumulierter anteiliger Steuer\r\n                        kapitalNetto: ausschuettend ? kapital : (kapital - steuerGesamt),\r\n                        zinsenGesamt: zinsenBruttoGesamt,\r\n                        steuerGesamt: steuerGesamt\r\n                    });\r\n\r\n                    \/\/ Reset Jahres-Akkumulatoren\r\n                    jahresZinsen = 0;\r\n                    jahresSteuer = 0;\r\n                }\r\n            }\r\n\r\n            \/\/ Endkapital netto\r\n            var endkapitalNetto;\r\n            if (ausschuettend) {\r\n                endkapitalNetto = kapital; \/\/ Steuer wurde laufend abgezogen\r\n            } else {\r\n                endkapitalNetto = kapital - steuerGesamt; \/\/ Steuer am Ende\r\n            }\r\n\r\n            return {\r\n                endkapital: endkapitalNetto,\r\n                endkapitalBrutto: kapital,\r\n                einzahlungen: einzahlungenGesamt,\r\n                zinsenBrutto: zinsenBruttoGesamt,\r\n                steuerGesamt: steuerGesamt,\r\n                yearlyData: yearlyData\r\n            };\r\n        }\r\n\r\n        function berechneSparrate(anfangskapital, zielkapital, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend) {\r\n            var low = 0;\r\n            var high = zielkapital \/ laufzeitJahre;\r\n            var sparrate = (low + high) \/ 2;\r\n            \r\n            for (var i = 0; i < 50; i++) {\r\n                var result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                if (Math.abs(result.endkapital - zielkapital) < 1) break;\r\n                \r\n                if (result.endkapital < zielkapital) {\r\n                    low = sparrate;\r\n                } else {\r\n                    high = sparrate;\r\n                }\r\n                sparrate = (low + high) \/ 2;\r\n            }\r\n            \r\n            return sparrate;\r\n        }\r\n\r\n        function berechneAnfangskapital(zielkapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend) {\r\n            var low = 0;\r\n            var high = zielkapital;\r\n            var anfangskapital = (low + high) \/ 2;\r\n            \r\n            for (var i = 0; i < 50; i++) {\r\n                var result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                if (Math.abs(result.endkapital - zielkapital) < 1) break;\r\n                \r\n                if (result.endkapital < zielkapital) {\r\n                    low = anfangskapital;\r\n                } else {\r\n                    high = anfangskapital;\r\n                }\r\n                anfangskapital = (low + high) \/ 2;\r\n            }\r\n            \r\n            return anfangskapital;\r\n        }\r\n\r\n        \/\/ FIX #4: Obere Grenze auf 2.0 (200%) erh\u00f6ht\r\n        function berechneZinssatz(anfangskapital, sparrate, zielkapital, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend) {\r\n            var low = 0;\r\n            var high = 2.0;\r\n            var zinssatz = (low + high) \/ 2;\r\n            \r\n            for (var i = 0; i < 80; i++) {\r\n                var result = berechneEndkapital(anfangskapital, sparrate, zinssatz, laufzeitJahre, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                if (Math.abs(result.endkapital - zielkapital) < 1) break;\r\n                \r\n                if (result.endkapital < zielkapital) {\r\n                    low = zinssatz;\r\n                } else {\r\n                    high = zinssatz;\r\n                }\r\n                zinssatz = (low + high) \/ 2;\r\n            }\r\n            \r\n            return zinssatz;\r\n        }\r\n\r\n        \/**\r\n         * FIX #3: Bin\u00e4re Suche f\u00fcr Laufzeit mit Dezimalpr\u00e4zision.\r\n         * Erst grob das ganzzahlige Jahr finden, dann per Bisection verfeinern.\r\n         *\/\r\n        function berechneLaufzeit(anfangskapital, sparrate, zielkapital, zinssatzPA, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend) {\r\n            \/\/ Grobe Suche: ganzzahlige Jahre\r\n            var jahreGrund = 1;\r\n            for (; jahreGrund <= 100; jahreGrund++) {\r\n                var result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, jahreGrund, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n                if (result.endkapital >= zielkapital) break;\r\n            }\r\n\r\n            if (jahreGrund > 100) return 100;\r\n            if (jahreGrund === 1) return 1;\r\n\r\n            \/\/ Feinsuche: bin\u00e4re Suche zwischen (jahreGrund - 1) und jahreGrund\r\n            var low = jahreGrund - 1;\r\n            var high = jahreGrund;\r\n\r\n            for (var i = 0; i < 30; i++) {\r\n                var mid = (low + high) \/ 2;\r\n                var midCeil = Math.ceil(mid);\r\n                var result = berechneEndkapital(anfangskapital, sparrate, zinssatzPA, midCeil, sparIntervallMonate, zinsIntervallMonate, effSteuer, ausschuettend);\r\n\r\n                if (result.endkapital >= zielkapital) {\r\n                    high = mid;\r\n                } else {\r\n                    low = mid;\r\n                }\r\n\r\n                if (high - low < 0.05) break;\r\n            }\r\n\r\n            return (low + high) \/ 2;\r\n        }\r\n\r\n        function updateUI(data) {\r\n            container.querySelector('.main-label').textContent = data.berechneterWertLabel;\r\n            container.querySelector('.main-result').textContent = data.berechneterWert;\r\n            \r\n            var netResultEl = container.querySelector('.net-result');\r\n            if (container.querySelector('#etf-steuern').checked) {\r\n                var steuerInfo = data.ausschuettend ? '(nach jaehrlicher Versteuerung)' : '(nach Steuern am Ende)';\r\n                netResultEl.textContent = steuerInfo;\r\n                netResultEl.style.display = 'block';\r\n            } else {\r\n                netResultEl.style.display = 'none';\r\n            }\r\n\r\n            container.querySelector('.total-deposits').textContent = formatCurrency(data.einzahlungen);\r\n            container.querySelector('.total-interest').textContent = formatCurrency(data.zinsenBrutto);\r\n            container.querySelector('.total-tax').textContent = '-' + formatCurrency(data.steuerGesamt);\r\n            container.querySelector('.final-net').textContent = formatCurrency(data.endkapital);\r\n\r\n            var sparIntervallText = container.querySelector('#etf-sparintervall').value;\r\n            var zinsIntervallText = container.querySelector('#etf-zinsintervall').value;\r\n            var steuerArt = data.ausschuettend ? 'jaehrlicher Versteuerung' : 'Versteuerung am Ende';\r\n            \r\n            var summary = 'Bei einem Anfangskapital von <strong>' + formatCurrency(data.anfangskapital) + '<\/strong>, einer ' + sparIntervallText + 'en Sparrate von <strong>' + formatCurrency(data.sparrate) + '<\/strong> ueber <strong>' + data.laufzeit + ' Jahre<\/strong> bei <strong>' + formatNumber(data.zinssatz, 2) + '% p.a.<\/strong> (' + zinsIntervallText + 'e Verzinsung) erreichst du ein Endkapital von <strong>' + formatCurrency(data.endkapital) + '<\/strong>';\r\n            \r\n            if (container.querySelector('#etf-steuern').checked) {\r\n                summary += ' (bei ' + steuerArt + ', Steuer gesamt: <strong>' + formatCurrency(data.steuerGesamt) + '<\/strong>).';\r\n            } else {\r\n                summary += '.';\r\n            }\r\n            \r\n            container.querySelector('.result-summary').innerHTML = summary;\r\n        }\r\n\r\n        function renderChart(data) {\r\n            if (chartInstance) {\r\n                chartInstance.destroy();\r\n            }\r\n\r\n            var ctx = container.querySelector('.etfChart').getContext('2d');\r\n            var labels = [];\r\n            var einzahlungen = [];\r\n            var zinsen = [];\r\n            \r\n            for (var i = 0; i < data.yearlyData.length; i++) {\r\n                var d = data.yearlyData[i];\r\n                labels.push('Jahr ' + d.jahr);\r\n                einzahlungen.push(Math.round(d.einzahlungen * 100) \/ 100);\r\n                \/\/ FIX #1: Nutze steuerGesamt aus yearlyData (jetzt auch bei thesaurierend korrekt)\r\n                var zinsenNetto = d.zinsenGesamt - d.steuerGesamt;\r\n                zinsen.push(Math.round(zinsenNetto * 100) \/ 100);\r\n            }\r\n\r\n            \/\/ FIX #7: Legende wird per CSS gesteuert, keine dynamischen Style-Tags n\u00f6tig\r\n            var datasets = [\r\n                {\r\n                    label: 'Einzahlungen',\r\n                    data: einzahlungen,\r\n                    backgroundColor: '#4A69FF',\r\n                    stack: 'stack1'\r\n                },\r\n                {\r\n                    label: 'Zinsen (netto)',\r\n                    data: zinsen,\r\n                    backgroundColor: '#10b981',\r\n                    stack: 'stack1'\r\n                }\r\n            ];\r\n\r\n            chartInstance = new Chart(ctx, {\r\n                type: 'bar',\r\n                data: {\r\n                    labels: labels,\r\n                    datasets: datasets\r\n                },\r\n                options: {\r\n                    responsive: true,\r\n                    maintainAspectRatio: false,\r\n                    scales: { x: { stacked: true }, y: { position: 'right', stacked: true, beginAtZero: true, grid: { color: '#e2e8f0' } } },\r\n                    plugins: { legend: { display: false }, tooltip: { mode: 'index', intersect: false } }\r\n                }\r\n            });\r\n        }\r\n\r\n        function renderTable(data) {\r\n            var tbody = container.querySelector('.table-body');\r\n            var html = '';\r\n            \r\n            for (var i = 0; i < data.yearlyData.length; i++) {\r\n                var d = data.yearlyData[i];\r\n                \/\/ FIX #2: Tabelle zeigt kapitalNetto (bei thesaurierend inkl. anteiliger Steuer)\r\n                html += '<tr><td>' + d.jahr + '<\/td><td>' + formatCurrency(d.einzahlungen) + '<\/td><td>' + formatCurrency(d.zinsenJahr) + '<\/td><td>' + formatCurrency(d.steuerJahr) + '<\/td><td>' + formatCurrency(d.kapitalNetto) + '<\/td><\/tr>';\r\n            }\r\n            \r\n            tbody.innerHTML = html;\r\n        }\r\n\r\n        function loadFromURL() {\r\n            var params = new URLSearchParams(window.location.search);\r\n            if (!params.has('mode')) return;\r\n            \r\n            if (params.has('mode')) elements.modeSelect.value = params.get('mode');\r\n            if (params.has('anfang')) container.querySelector('#etf-anfangskapital').value = params.get('anfang');\r\n            if (params.has('sparint')) container.querySelector('#etf-sparintervall').value = params.get('sparint');\r\n            if (params.has('rate')) container.querySelector('#etf-sparrate').value = params.get('rate');\r\n            if (params.has('zins')) container.querySelector('#etf-zinssatz').value = params.get('zins');\r\n            if (params.has('zinsint')) container.querySelector('#etf-zinsintervall').value = params.get('zinsint');\r\n            if (params.has('laufzeit')) container.querySelector('#etf-laufzeit').value = params.get('laufzeit');\r\n            if (params.has('ziel')) container.querySelector('#etf-zielkapital').value = params.get('ziel');\r\n            if (params.has('steuer')) container.querySelector('#etf-steuern').checked = params.get('steuer') === '1';\r\n            if (params.has('aussch')) container.querySelector('#etf-ausschuettungsart').value = params.get('aussch');\r\n            if (params.has('fondstyp')) container.querySelector('#etf-fondstyp').value = params.get('fondstyp');\r\n            \r\n            updateFieldVisibility();\r\n            updateTaxVisibility();\r\n            \r\n            setTimeout(function() {\r\n                handleCalculation();\r\n            }, 100);\r\n        }\r\n\r\n        updateFieldVisibility();\r\n        updateTaxVisibility();\r\n        loadFromURL();\r\n    }\r\n})();\r\n<\/script>    <\/div>\n\n\n\n<div class=\"container container--narrow\" >\n    <div class=\"text\">\n        <div class=\"text__inner flow-content\">\n                            \n<h2>So funktioniert der ETF-Rechner<\/h2>\n<p>Der Rechner bietet dir zwei Berechnungswege:<\/p>\n<p><strong>Endkapital berechnen:<\/strong> Du gibst Sparrate, Laufzeit und Rendite ein. Der Rechner zeigt dir, wie viel Verm\u00f6gen am Ende steht. Das ist der klassische Modus: \u201eWenn ich 30 Jahre lang 200 Euro monatlich investiere, was habe ich dann?&#8220;<\/p>\n<p><strong>Sparrate berechnen:<\/strong> Du gibst dein Ziel ein, zum Beispiel 300.000 Euro f\u00fcr den Ruhestand. Der Rechner ermittelt, welche monatliche Rate daf\u00fcr n\u00f6tig ist. Diese Umkehrfunktion macht abstrakte Ziele greifbar.<\/p>\n<p>Zus\u00e4tzlich kannst du die ben\u00f6tigte Laufzeit, das erforderliche Anfangskapital oder den notwendigen Zinssatz berechnen lassen, wenn du die \u00fcbrigen Werte vorgibst.<\/p>\n<h3>Die Eingabewerte im Detail<\/h3>\n<p><strong>Anfangskapital:<\/strong> Wie viel investierst du einmalig zu Beginn? Kann auch null sein. Falls du eine gr\u00f6\u00dfere Summe hast, etwa aus einer Erbschaft oder Abfindung, trag sie hier ein. Schon 5.000 Euro Startkapital wachsen bei 7 Prozent Rendite \u00fcber 30 Jahre auf rund 38.000 Euro, ohne eine weitere Einzahlung.<\/p>\n<p><strong>Sparrate:<\/strong> Was zahlst du regelm\u00e4\u00dfig ein? Die meisten Sparer w\u00e4hlen eine monatliche Rate, die sich am Gehalt orientiert. Du kannst im Rechner auch viertelj\u00e4hrliche oder j\u00e4hrliche Einzahlungen einstellen.<\/p>\n<p><strong>Zinssatz (Rendite p.a.):<\/strong> Die erwartete j\u00e4hrliche Rendite deines ETFs. Dieser Wert ist der unsicherste Parameter, weil er auf historischen Durchschnittswerten basiert. Breit gestreute Aktien-ETFs wie der MSCI World erzielten langfristig etwa 7 bis 8 Prozent vor Kosten. F\u00fcr eine realistische Planung empfehlen sich 5 bis 6 Prozent nach Kosten.<\/p>\n<p><strong>Laufzeit:<\/strong> Wie viele Jahre soll dein Geld arbeiten? Hier steckt der gr\u00f6\u00dfte Hebel. Ver\u00e4ndere die Laufzeit um zehn Jahre und beobachte, was mit dem Ergebnis passiert.<\/p>\n<p><strong>Zinsintervall:<\/strong> Wie oft werden Ertr\u00e4ge reinvestiert? Bei thesaurierenden ETFs geschieht das automatisch. Der Unterschied zwischen monatlicher und j\u00e4hrlicher Gutschrift ist in der Praxis gering, der Rechner ber\u00fccksichtigt ihn aber.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fefcef;\"><strong class=\"headline headline--h3 headline--small-margin\">\ud83d\udca1 Gut zu wissen<\/strong><div class=\"box__content\"><p><strong>Tipp:<\/strong> Starte mit der R\u00fcckw\u00e4rtsrechnung. Gib dein Wunschverm\u00f6gen ein (z.B. 300.000 Euro), w\u00e4hle Laufzeit und Rendite, und lass dir die n\u00f6tige Sparrate ausrechnen. So wei\u00dft du sofort, ob dein Ziel realistisch ist.<\/p><\/div><\/div>\n<h2>Warum die Laufzeit wichtiger ist als die Sparrate<\/h2>\n<p>Wenn du mit dem Rechner experimentierst, wirst du ein Muster erkennen: Die Laufzeit hat mehr Einfluss auf dein Endverm\u00f6gen als die H\u00f6he der Sparrate.<\/p>\n<p>Ein Beispiel: 150 Euro monatlich bei 7 Prozent Rendite \u00fcber 30 Jahre ergibt rund 183.000 Euro. Davon hast du nur 54.000 Euro selbst eingezahlt. Die restlichen 129.000 Euro sind Ertr\u00e4ge und Zinseszins. Bei nur 10 Jahren Laufzeit w\u00e4ren es rund 26.000 Euro, wovon 18.000 Euro deine eigenen Einzahlungen sind. Der Zinseszins hatte schlicht zu wenig Zeit.<\/p>\n<p>Noch deutlicher wird es im direkten Vergleich: 200 Euro monatlich \u00fcber 35 Jahre bei 7 Prozent ergeben rund 402.000 Euro. 400 Euro monatlich \u00fcber 25 Jahre bei gleicher Rendite ergeben rund 324.000 Euro. Im zweiten Szenario zahlst du 20.000 Euro mehr ein, hast aber 78.000 Euro weniger am Ende. Zeit schl\u00e4gt Sparrate.<\/p>\n<p>Probiere es selbst aus: Trag im Rechner verschiedene Laufzeiten ein und vergleiche die Ergebnisse. Der Unterschied zwischen 15 und 25 Jahren ist eindr\u00fccklicher als jede Erkl\u00e4rung.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fff4ef;\"><strong class=\"headline headline--h3 headline--small-margin\">\u26a0\ufe0f Wichtig<\/strong><div class=\"box__content\"><p>Ein 25-J\u00e4hriger, der 150 Euro monatlich investiert, erreicht mit 65 mehr Verm\u00f6gen als ein 40-J\u00e4hriger, der 300 Euro monatlich spart. Der Grund: 15 zus\u00e4tzliche Jahre Zinseszins wiegen schwerer als die doppelte Sparrate. Falls du noch nicht sparst, ist heute der beste Zeitpunkt zum Starten.<\/p><\/div><\/div>\n<h2>Kosten, Steuern, Inflation: Was vom Gewinn \u00fcbrig bleibt<\/h2>\n<p>Der Rechner kann nur dann realistische Ergebnisse liefern, wenn du wei\u00dft, welche Faktoren die tats\u00e4chliche Rendite schm\u00e4lern.<\/p>\n<h3>Fondskosten (TER)<\/h3>\n<p>Die Total Expense Ratio (TER) beschreibt die j\u00e4hrlichen Verwaltungskosten eines ETFs. Ein MSCI-World-ETF hat typischerweise eine TER zwischen 0,12 und 0,50 Prozent. Diese Kosten werden automatisch vom Fondsverm\u00f6gen abgezogen.<\/p>\n<p>Der Unterschied klingt klein, summiert sich aber: Bei 150 Euro monatlich \u00fcber 30 Jahre kostet dich eine TER von 0,50 Prozent statt 0,20 Prozent rund 11.000 Euro Endverm\u00f6gen. W\u00e4hle deshalb einen g\u00fcnstigen ETF. Viele Broker bieten zudem kostenlose Sparplanausf\u00fchrungen an, sodass auch Ordergeb\u00fchren entfallen.<\/p>\n<h3>Steuern: Abgeltungssteuer und Teilfreistellung<\/h3>\n<p>Kapitalertr\u00e4ge unterliegen in Deutschland der Abgeltungssteuer von 25 Prozent plus Solidarit\u00e4tszuschlag (zusammen 26,375 Prozent), gegebenenfalls zuz\u00fcglich Kirchensteuer. Der Sparerpauschbetrag von 1.000 Euro pro Person (2.000 Euro bei Zusammenveranlagung) bleibt steuerfrei.<\/p>\n<p>Wichtig f\u00fcr Aktienfonds-Anleger: Es gilt eine <strong>Teilfreistellung von 30 Prozent<\/strong>. Das bedeutet, dass nur 70 Prozent deiner Ertr\u00e4ge steuerpflichtig sind. Bei 1.000 Euro Gewinn zahlst du also nicht 263,75 Euro Steuern, sondern nur 184,63 Euro.<\/p>\n<p>Unser Rechner bietet Checkboxen f\u00fcr Steuern und Teilfreistellung, die du aktivieren kannst. So siehst du das Ergebnis nach Steuern, was die Prognose deutlich realistischer macht.<\/p>\n<h3>Aussch\u00fcttend vs. thesaurierend<\/h3>\n<p>Thesaurierende ETFs reinvestieren alle Ertr\u00e4ge automatisch. Dadurch bleibt mehr Kapital im Depot, das weiterarbeiten kann. Aussch\u00fcttende ETFs zahlen Dividenden aus, die sofort versteuert werden, auch wenn du sie manuell reinvestierst. Der Steuerstundungseffekt bei thesaurierenden Fonds verst\u00e4rkt den Zinseszins. Im Rechner kannst du per Dropdown w\u00e4hlen, welche Variante du simulieren willst.<\/p>\n<h3>Inflation<\/h3>\n<p>100.000 Euro in 30 Jahren haben nicht dieselbe Kaufkraft wie heute. Bei 2 Prozent durchschnittlicher Inflation sinkt der reale Wert um etwa 45 Prozent. Der Rechner kann die Inflation einberechnen und dir das Endkapital in heutiger Kaufkraft anzeigen. Das ist ern\u00fcchternder, aber ehrlicher.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fefcef;\"><strong class=\"headline headline--h3 headline--small-margin\">\ud83d\udca1 Gut zu wissen<\/strong><div class=\"box__content\"><p><strong>Empfehlung:<\/strong> Rechne immer mit Netto-Renditen. Aktiviere im Rechner Steuern und Teilfreistellung und nutze 5 bis 6 Prozent als Renditeerwartung statt der oft zitierten 7 bis 8 Prozent. So planst du konservativ und erlebst im besten Fall positive \u00dcberraschungen.<\/p><\/div><\/div>\n<h2>Szenarien durchspielen: So nutzt du den Rechner strategisch<\/h2>\n<p>Der Rechner ist mehr als ein einmaliges Prognose-Tool. Richtig eingesetzt hilft er dir, konkrete Entscheidungen zu treffen.<\/p>\n<h3>Was-w\u00e4re-wenn: Verschiedene Renditen vergleichen<\/h3>\n<p>Niemand wei\u00df, wie sich die M\u00e4rkte entwickeln. Rechne deshalb mehrere Szenarien: Was passiert bei 7 Prozent, was bei 5 Prozent, was bei nur 4 Prozent? Bei 150 Euro monatlich \u00fcber 30 Jahre erreichst du bei 7 Prozent rund 183.000 Euro, bei 5 Prozent immer noch rund 125.000 Euro. Selbst das konservative Szenario liefert deutlich mehr als die eingezahlten 54.000 Euro.<\/p>\n<h3>Sparrate nach Gehaltserh\u00f6hung anpassen<\/h3>\n<p>Nutze den Rechner nach jeder Gehaltserh\u00f6hung: Was bringen 50 oder 100 Euro mehr pro Monat? \u00dcber 20 Jahre machen 50 Euro zus\u00e4tzlich bei 6 Prozent Rendite rund 23.000 Euro Unterschied. Das ist keine Kleinigkeit.<\/p>\n<h3>Gr\u00f6\u00dfere Summen als Anfangskapital einsetzen<\/h3>\n<p>Falls du eine Erbschaft, Abfindung oder Bonuszahlung bekommst: Trag den Betrag als Anfangskapital ein und sieh, wie er \u00fcber die Laufzeit w\u00e4chst. 10.000 Euro Anfangskapital kombiniert mit 150 Euro monatlich \u00fcber 30 Jahre bei 7 Prozent ergeben rund 259.000 Euro statt 183.000 Euro ohne Startkapital. Die einmaligen 10.000 Euro machen am Ende 76.000 Euro Unterschied.<\/p>\n<h3>Pause simulieren<\/h3>\n<p>Was passiert, wenn du drei oder f\u00fcnf Jahre nicht einzahlen kannst? Trag die k\u00fcrzere Laufzeit ein, aber behalte dein bisheriges Kapital als Anfangskapital. Du wirst sehen: Eine Pause schadet weniger, als viele denken, solange das bereits investierte Geld im Markt bleibt. Der Zinseszins arbeitet auch ohne neue Einzahlungen weiter.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fff4ef;\"><strong class=\"headline headline--h3 headline--small-margin\">\u26a0\ufe0f Wichtig<\/strong><div class=\"box__content\"><p>Nutze den Rechner nicht nur beim Einstieg, sondern regelm\u00e4\u00dfig. Nach Gehaltserh\u00f6hungen, Lebensereignissen oder gr\u00f6\u00dferen Marktschwankungen lohnt sich eine Neuberechnung: Bist du noch auf Kurs? Solltest du die Sparrate anpassen? So bleibt deine Planung aktuell.<\/p><\/div><\/div>\n<div style=\"background-color: #fffdf2; border: 1px solid #f0ead2; border-radius: 12px; padding: 25px; margin-bottom: 20px; font-family: sans-serif; color: #333; line-height: 1.6;\">\r\n    \r\n    <div style=\"margin-bottom: 20px;\">\r\n        <h3 style=\"margin: 0; font-size: 18px; font-weight: bold; color: #000; text-transform: none;\">Weitere Finanzrechner<\/h3>\r\n    <\/div>\r\n\r\n    <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px 40px;\">\r\n        \r\n        <div style=\"display: flex; flex-direction: column; gap: 8px;\">\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/brutto-netto-rechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Brutto Netto Rechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/prozentrechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Prozentrechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a ETF-Rechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/entnahmerechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Entnahmerechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/zinseszinsrechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Zinseszinsrechner<\/a>\r\n        <\/div>\r\n\r\n        <div style=\"display: flex; flex-direction: column; gap: 8px;\">\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Renditerechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/kreditrechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Kreditrechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/arbeitszeitrechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a Arbeitszeitrechner<\/a>\r\n            <a href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/iban-rechner\/\" target=\"_blank\" rel=\"noopener\" style=\"color: #1a74fc; text-decoration: none; font-size: 17px; font-weight: 500;\">\u203a IBAN-Rechner<\/a>\r\n        <\/div>\r\n        \r\n    <\/div>\r\n<\/div>\n<h2>H\u00e4ufige Fragen zum ETF-Sparplan berechnen<\/h2>\n<h3>Wie viel Geld habe ich mit einem ETF-Sparplan nach 10, 20 oder 30 Jahren?<\/h3>\n<p>Das h\u00e4ngt von Sparrate, Rendite und Anfangskapital ab. Ein Beispiel: 200 Euro monatlich bei 6 Prozent Rendite ergeben nach 10 Jahren rund 33.000 Euro, nach 20 Jahren rund 93.000 Euro und nach 30 Jahren rund 201.000 Euro. Davon sind nur 72.000 Euro eigene Einzahlungen. Trag deine Werte oben in den Rechner ein und du bekommst dein individuelles Ergebnis.<\/p>\n<h3>Wie viel sollte ich monatlich in einen ETF-Sparplan einzahlen?<\/h3>\n<p>Das richtet sich nach deinem Einkommen und deinem Sparziel. Nutze die R\u00fcckw\u00e4rtsrechnung im Rechner: Gib dein Zielkapital, die Laufzeit und eine realistische Rendite ein, und der Rechner zeigt dir die n\u00f6tige Sparrate. F\u00fcr 300.000 Euro in 30 Jahren bei 6 Prozent brauchst du etwa 300 Euro monatlich.<\/p>\n<h3>Welche Rendite kann ich mit einem ETF-Sparplan erwarten?<\/h3>\n<p>Breit gestreute Aktien-ETFs wie der MSCI World erzielten historisch 7 bis 8 Prozent pro Jahr vor Kosten. Nach Abzug von <a href=\"https:\/\/www.finanzen.net\/ratgeber\/etf\/grundlagen-einstieg\/auf-einen-blick-die-wichtigsten-fondskosten\/\" data-ilm-light=\"84\" title=\"Auf Einen Blick Die Wichtigsten Fondskosten\">Fondskosten<\/a>, Steuern und Inflation liegt eine realistische Planungsrendite bei 5 bis 6 Prozent. Kurzfristige Schwankungen sind normal, die tats\u00e4chliche Rendite ist nie garantiert.<\/p>\n<h3>Ab wann lohnt sich ein ETF-Sparplan?<\/h3>\n<p>Der Zinseszinseffekt braucht Zeit. Ab etwa 10 Jahren Anlagedauer wird sein Beitrag zum Endverm\u00f6gen deutlich sichtbar, ab 20 Jahren dominiert er das Ergebnis. F\u00fcr Zeitr\u00e4ume unter 5 Jahren ist ein <a href=\"https:\/\/www.finanzen.net\/ratgeber\/etf\/praxis-strategien\/etf-sparplan\/net\/\" data-ilm-light=\"22\" title=\"ETF Sparplan\">ETF-Sparplan<\/a> wegen der Schwankungsrisiken weniger geeignet.<\/p>\n<h3>Wie lange sollte ich einen ETF-Sparplan laufen lassen?<\/h3>\n<p>So lange wie m\u00f6glich. Je l\u00e4nger die Laufzeit, desto mehr Arbeit \u00fcbernimmt der Zinseszins f\u00fcr dich. Bei 30 Jahren Laufzeit bestehen oft mehr als zwei Drittel des Endverm\u00f6gens aus Ertr\u00e4gen statt aus Einzahlungen. Der Rechner zeigt dir den Unterschied f\u00fcr verschiedene Laufzeiten.<\/p>\n<h3>Ist ein ETF-Sparplan sicher?<\/h3>\n<p>ETFs unterliegen Marktschwankungen und k\u00f6nnen kurzfristig an Wert verlieren. Durch breite Streuung \u00fcber viele Unternehmen und L\u00e4nder sinkt das Risiko erheblich. Historisch hat ein weltweit gestreuter Aktien-ETF \u00fcber 15 Jahre oder mehr noch nie Verluste verzeichnet. Das Risiko sinkt mit zunehmender Anlagedauer.<\/p>\n<h3>Was bringt ein Anfangskapital zus\u00e4tzlich zum Sparplan?<\/h3>\n<p>Einen gro\u00dfen Unterschied, weil das Anfangskapital von Beginn an den vollen Zinseszinseffekt nutzt. 10.000 Euro Startkapital kombiniert mit 150 Euro monatlich \u00fcber 30 Jahre bei 7 Prozent ergeben rund 259.000 Euro. Ohne Startkapital w\u00e4ren es rund 183.000 Euro. Die einmaligen 10.000 Euro bringen also 76.000 Euro zus\u00e4tzliches Endverm\u00f6gen.<\/p>\n                    <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"container container--narrow\" >\n    <div class=\"disclaimer flow-content\">\n                    <small>\n                <p style=\"font-size: 11pt;\">Disclaimer: Die in diesem Artikel enthaltenen Inhalte dienen ausschlie\u00dflich allgemeinen Informations-, Bildungs- und Marketingzwecken ohne Gew\u00e4hr auf Vollst\u00e4ndigkeit, Richtigkeit und Aktualit\u00e4t. Die Inhalte stellen keine Anlageberatung, Anlagestrategieempfehlung oder Aufforderung zum Kauf oder Verkauf von Wertpapieren oder sonstigen Finanzinstrumenten dar. Die Informationen ber\u00fccksichtigen nicht die individuellen Anlageziele und finanzielle Situation des Lesers. Jede Anlageentscheidung sollte eigenverantwortlich getroffen und sorgf\u00e4ltig gepr\u00fcft werden. Vor einer Anlageentscheidung sollte der Rat eines Anlage- und Steuerberaters eingeholt werden. Der Handel mit Wertpapieren oder sonstigen Finanzinstrumenten ist mit hohen Risiken verbunden, bis hin zum Totalverlust des eingesetzten Kapitals. Die in der Vergangenheit erzielte Performance ist kein Indikator f\u00fcr zuk\u00fcnftige Wertentwicklungen. Aussagen \u00fcber zuk\u00fcnftige wirtschaftliche Entwicklungen basieren grunds\u00e4tzlich auf Annahmen und Einsch\u00e4tzungen, die sich im Zeitablauf als nicht zutreffend erweisen k\u00f6nnen. Wir \u00fcbernehmen keine Haftung f\u00fcr Verluste, die durch die Umsetzung der in diesem Artikel genannten Informationen entstehen.<\/p>\n<p style=\"font-size: 11pt;\"><sup>1<\/sup>Hinweis zu ZERO: <a href=\"https:\/\/www.finanzen.net\/zero\/?utm_source=finnet-ratgeber&amp;utm_medium=web&amp;utm_term=fnet_017m&amp;utm_campaign=content&amp;utm_content=[current_slug]\" target=\"_blank\" rel=\"noopener\">finanzen.net zero<\/a> ist ein Angebot der <a href=\"https:\/\/www.finanzen.net\/zero\/impressum\/?utm_source=finnet-ratgeber&amp;utm_medium=web&amp;utm_term=fnet_017m&amp;utm_campaign=content&amp;utm_content=[current_slug]\" target=\"_blank\" rel=\"noopener\">finanzen.net zero GmbH<\/a>, einer Tochter der <a href=\"https:\/\/www.finanzen.net\/impressum\">finanzen.net GmbH<\/a>.<\/p>\n<p style=\"font-size: 11pt;\"><sup>*<\/sup>Hinweis zu Affiliate-Links: Unsere Ratgeber-Artikel sind objektiv und unabh\u00e4ngig erstellt, wobei mit Sternchen gekennzeichnete Links zur Finanzierung der kostenlosen Inhalte dienen. Die Verg\u00fctung aus diesen Links hat keinen Einfluss auf unsere Inhalte.<\/p>\n            <\/small>\n                    <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6,"featured_media":33434,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1194],"tags":[1462,1460],"class_list":["post-32472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rechner-vergleiche","tag-daily","tag-finanzrechner"],"acf":[],"yoast_head":"<title>ETF-Rechner: Berechne, was aus deinem Sparplan wird<\/title>\n<meta name=\"description\" content=\"Mit dem ETF-Rechner berechnest du auf Basis weniger Eingaben, wie sich dein Sparplan \u00fcber die Zeit entwickelt.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ETF-Rechner: Berechne, was aus deinem Sparplan wird\" \/>\n<meta property=\"og:description\" content=\"Mit dem ETF-Rechner berechnest du auf Basis weniger Eingaben, wie sich dein Sparplan \u00fcber die Zeit entwickelt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/\" \/>\n<meta property=\"og:site_name\" content=\"Finanzen.net Ratgeber: Finanzwissen, das dich weiterbringt\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-14T12:05:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-15T10:34:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Roland Kuse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschrieben von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roland Kuse\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>","yoast_head_json":{"title":"ETF-Rechner: Berechne, was aus deinem Sparplan wird","description":"Mit dem ETF-Rechner berechnest du auf Basis weniger Eingaben, wie sich dein Sparplan \u00fcber die Zeit entwickelt.","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:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/","og_locale":"de_DE","og_type":"article","og_title":"ETF-Rechner: Berechne, was aus deinem Sparplan wird","og_description":"Mit dem ETF-Rechner berechnest du auf Basis weniger Eingaben, wie sich dein Sparplan \u00fcber die Zeit entwickelt.","og_url":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/","og_site_name":"Finanzen.net Ratgeber: Finanzwissen, das dich weiterbringt","article_published_time":"2026-03-14T12:05:35+00:00","article_modified_time":"2026-03-15T10:34:21+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg","type":"image\/jpeg"}],"author":"Roland Kuse","twitter_card":"summary_large_image","twitter_misc":{"Geschrieben von":"Roland Kuse","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#article","isPartOf":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/"},"author":{"name":"Roland Kuse","@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6"},"headline":"ETF-Rechner","datePublished":"2026-03-14T12:05:35+00:00","dateModified":"2026-03-15T10:34:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/"},"wordCount":1784,"image":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#primaryimage"},"thumbnailUrl":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg","keywords":["Daily","Finanzrechner"],"articleSection":["Rechner &amp; Vergleiche"],"inLanguage":"de"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/","url":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/","name":"ETF-Rechner: Berechne, was aus deinem Sparplan wird","isPartOf":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#primaryimage"},"image":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#primaryimage"},"thumbnailUrl":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg","datePublished":"2026-03-14T12:05:35+00:00","dateModified":"2026-03-15T10:34:21+00:00","author":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6"},"description":"Mit dem ETF-Rechner berechnest du auf Basis weniger Eingaben, wie sich dein Sparplan \u00fcber die Zeit entwickelt.","breadcrumb":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#primaryimage","url":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg","contentUrl":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2026\/01\/etf-rechner.jpg","width":1376,"height":768,"caption":"ETF-Rechner"},{"@type":"BreadcrumbList","@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/etf-rechner\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.finanzen.net\/ratgeber\/"},{"@type":"ListItem","position":2,"name":"Rechner &amp; Vergleiche","item":"https:\/\/www.finanzen.net\/ratgeber\/.\/rechner-vergleiche\/"},{"@type":"ListItem","position":3,"name":"ETF-Rechner"}]},{"@type":"WebSite","@id":"https:\/\/www.finanzen.net\/ratgeber\/#website","url":"https:\/\/www.finanzen.net\/ratgeber\/","name":"Finanzen.net Ratgeber - Die Ganze Welt der Finanzen","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.finanzen.net\/ratgeber\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6","name":"Roland Kuse","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","url":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","contentUrl":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","caption":"Roland Kuse"},"description":"Roland Kuse leitet den Finanzratgeber gemeinsam mit Volker Altvater. Mit \u00fcber 25 Jahren Erfahrung im digitalen Publishing verantwortet der Experte die inhaltliche Strategie und redaktionelle Qualit\u00e4t. Zudem treibt er die Entwicklung interaktiver Formate voran \u2013 vom Altersvorsorgedepot-Rechner bis hin zu anschaulichen Infografiken. Sein Ziel ist es, Finanzen verst\u00e4ndlich, fundiert und verl\u00e4sslich aufzubereiten.","sameAs":["https:\/\/www.linkedin.com\/in\/roland-kuse-959574103\/"],"url":"https:\/\/www.finanzen.net\/ratgeber\/author\/roland-kruse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/32472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/comments?post=32472"}],"version-history":[{"count":10,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/32472\/revisions"}],"predecessor-version":[{"id":35309,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/32472\/revisions\/35309"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/media\/33434"}],"wp:attachment":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/media?parent=32472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/categories?post=32472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/tags?post=32472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}